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?

lilotop
fonte
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á.

KareemElashmawy
fonte
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.

Lizardman fourtwenty
fonte
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