Estou um pouco confuso sobre como usar o controle de versão com o Unity, especialmente com objetos como cenas ou prefabs que não são apenas códigos.
Recentemente, tivemos um problema quando eu e meu colega estávamos trabalhando em diferentes partes da mesma cena. o que resultou em conflitos, ramificação e fusão em abundância.
No final, minha revisão foi substituída por suas alterações de qualquer maneira.
A única maneira que vejo no momento é nos revezando trabalhando nos mesmos objetos, mas isso não parece muito conveniente, especialmente porque todo o trabalho que estamos fazendo atualmente está nas cenas.
O que as pessoas costumam fazer nessas situações?
(Estamos usando Mercurial, BitBucket e SourceTree.)
version-control
unity3d
Kaworu
fonte
fonte
Respostas:
Você pode tentar a seguinte solução se estiver usando o GitHub.
Este trabalho é bom para mim.
fonte
A maioria dos sistemas de controle de versão (VCS) é projetada para texto. Eles geralmente têm recursos muito poderosos e convenientes para comparar (
diff
) e mesclar o código-fonte, e algumas ferramentas podem mesclar automaticamente as alterações (e fazer um trabalho decente de adivinhar como as alterações devem ser mescladas e em que momento o desenvolvedor deve ser solicitado). mesclagem manual).Seria ótimo ter um melhor suporte
diff
e mesclagem de arquivos binários dos respectivos aplicativos que usam esses arquivos. O Microsoft Word, por exemplo, torna possível comparar dois documentos e, embora esteja longe de ser uma ferramenta de mesclagem conveniente, ainda é melhor que nada e me salvou horas em várias ocasiões. Infelizmente, o recurso de mesclagem geralmente é supervisionado em produtos de software ou difícil de implementar (como você visualiza umadiff
cena em 3D?)Quando se trata de arquivos binários, você recebe pouca ajuda do VCS. Além de não conseguirem armazenar alterações sucessivas de maneira eficiente, também não podem ajudá-lo a mesclar as alterações.
Há dois anos, fiz uma pergunta muito semelhante a respeito do uso do controle de versão no software de edição de vídeo . Acredito que as respostas que foram dadas à minha pergunta se apliquem parcialmente aqui também, a única (mas importante) diferença é que minha pergunta dizia respeito a arquivos grandes, enquanto no seu caso, os arquivos binários provavelmente são relativamente pequenos.
A abordagem que você encontrou, que é “revezar-se trabalhando nos mesmos objetos”, é a melhor. Se você não conseguir mesclar, não trabalhe paralelamente nas mesmas coisas. Se você trabalha no mesmo escritório, pode ser fácil. Caso contrário, a maioria dos sistemas de controle de versão ( incluindo o que você usa ; também é discutido aqui em um contexto de BitBucket) suporta bloqueio , que consiste no usuário de um VCS dizer, através do sistema, que ele está trabalhando em um determinado arquivo corretamente agora; outros usuários podem carregar a versão mais recente do arquivo, mas não é esperado que eles sejam alterados.
fonte