Como posso visualizar visualmente as alterações feitas em uma cena desde o último commit do git


11

Gostaria de ver as alterações feitas em uma cena (arquivo .unity) antes de enviá-las ao git.

Analisei várias soluções GIT / Unity, mas todas elas foram feitas para mesclar alterações e não para mostrar diferenças na última versão.

O problema com os arquivos de cena é que eles usam GUIDs que apontam para outros ativos e, quando abro um diff para um arquivo de cena, não consigo tirar nada disso.

Por exemplo: git diff

Em vez disso, gostaria de ver algo assim: visual diff

Existe alguma coisa que faça isso?


Não tenho 100% de certeza no momento, então não estou postando como resposta, mas acho que o Sourcetree mostra a diferença. Desde que você tenha definido seu projeto para serialização de texto.
Christian

1
Com o tempo, aprendi a assistir a cena e a pré-fabricar os arquivos. Hoje em dia, com precisão suficiente, posso dizer que há uma morena, uma loira, uma ruiva ... Git e Unity realmente não têm nada a ver um com o outro, então provavelmente nenhum deles fornecerá uma ferramenta como essa. O Unity quer promover sua própria coisa baseada em nuvem de colaboração.
Lasse

Eu poderia tentar desenvolver uma coisa dessas se não houver uma solução pronta.
#

7
Faça. Coloque na loja de ativos. Lucro.
Michaelhouse

1
@Lasse, na verdade, eles estão trabalhando nessa ferramenta. Tenho certeza de que está em fase beta (fui convidado a testá-lo, mas eles não são exatamente secretos). Id especula que deve sair dentro de um mês ou dois.
Gnemlock

Respostas:


1

Gostaria de ver as alterações feitas em uma cena (arquivo .unity) antes de enviá-las ao git.

Qualquer ferramenta git decente fará isso, desde que o arquivo de cena não seja binário ; mas, como você mencionou, as referências GUID dificultam a leitura. Se a cena for binária, a serialização poderá ser atualizada Edit -> Project Settings -> Editor -> Asset Serialization; mas esteja avisado: pode ocorrer perda de dados (veja o comentário de Draco18 abaixo).

Analisei várias soluções GIT / Unity, mas todas elas foram feitas para mesclar alterações e não para mostrar diferenças na última versão.

Ver as alterações feitas em um único arquivo é um dos principais recursos do git log. De fato, há uma pergunta sobre o stackoverflow . Basicamente, você usaria algo como

git log --follow path/to/scene.unity

para exibir o histórico desse arquivo. Adicionar -1para exibir as alterações mais recentes no arquivo especificado. Omita -1e use -ppara ver o patch feito para cada confirmação que modificou esse arquivo. Eu recomendo ler a questão do stackoverflow antes de tocar na documentação do git-log, porque é muito longa .

Em vez disso, gostaria de ver algo assim:

[diff do gráfico de cena]

Existe alguma coisa que faça isso?

Tanto quanto eu posso dizer, não . Dito isto, o Unity for Git parece ser o lugar natural para encontrá-lo. Como está em alfa, você deve criar um problema para resolver isso. Como é exclusivo aplicar git diff nos gráficos intrínsecos de cenas da unidade, suspeito que seja fortemente relevante lá.


Any decent git tool will do this... desde que o arquivo não seja binário. Que pode ser definido (Editar -> Configurações do projeto -> Editor -> Serialização de ativos). Eu tenho dois projetos agora, um onde o arquivo de cena é dados binários e outro onde é texto. O texto que foi alterado por causa de um ativo que importei que incentivou a alteração para "Forçar texto" devido a algum aspecto da plataforma de plug-in / ativo / destino com melhor desempenho. AVISO: alterar os modos pode resultar em perda de dados.
Draco18s não confia mais no SE 17/07

-4

Eu recomendaria que você apenas usasse o Git com Bitbucket (como origem de envio!), Pois fornece uma GUI muito boa que permite ver a representação gráfica de sua ramificação e confirmar o histórico, além de alterações nos arquivos de texto onde você pode até ver alterações em o código em vermelho e verde, além de muitos outros recursos interessantes de fluxo de trabalho.


Acho que você entendeu totalmente minha pergunta. Estou falando de arquivos de cena baseados em texto que contêm referências guia a outros objetos de unidade. A menos que exista algum tipo de cliente de bitbucket inteligente que eu não conheça, que possa resolver essas referências - você está totalmente fora da base aqui.
Lilotop # 29/17
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.