Eu tenho um projeto de jogo que terá duas versões:
- Uma versão simples do jogo, o núcleo.
- Uma versão avançada do jogo.
Eu tenho a 1ª versão no meu repositório público, e somente eu estarei trabalhando nele. Quanto à 2ª versão, dois amigos meus e eu trabalharemos nela. A parte crucial é que eu quero que as duas versões permaneçam no meu repositório.
Eu pensei que poderia usar ramos para isso, mas, considerando esta pergunta e sua resposta , não é uma boa prática fazê-lo em termos de versão. Até onde eu descobri, não é possível criar seu próprio repositório.
Quais são minhas opções aqui? Como posso manter as duas versões no meu repositório?
fork
um repositório criará um novo repositório em sua conta.Respostas:
Para mim, parece que você precisa de dois repositórios e não de dois ramos . Uma ramificação é um mecanismo para lidar com as alterações em um único repositório para, eventualmente, mesclá-las com o restante do código.
Se você realmente deseja manter as duas versões de uma base de código semelhante no mesmo repositório, sua única opção é optar por uma filial , no entanto, como mencionado anteriormente, o principal objetivo de uma filial é separar alguns commits específicos de uma maneira que eles não entrem em conflito com o restante do código durante o período de desenvolvimento e os mesclem quando estiverem prontos.
Existem situações em que um repositório possui duas ramificações ligeiramente diferentes - por exemplo, versões de 32 bits e 64 bits do mesmo código-fonte; no entanto, eu ainda recomendo que você escolha repositórios separados, se isso for uma opção.
fonte
A resposta para a pergunta "devo clonar ou bifurcar" é exatamente a mesma que a resposta a esta pergunta "quero minha própria versão pessoal deste projeto?" yes = fork, no = clone o repositório.
No git, branch é um item leve que geralmente é temporário e pode ser excluído. Um fork (no github) é um novo projeto baseado em um projeto anterior. Você clona um repositório para trabalhar nele como um membro da equipe.
Muitos projetos públicos exigem que você garanta o projeto para manter as mudanças de trabalho fora do projeto principal.
Para a fase 2, bifurque o projeto, clone-o no computador em funcionamento e peça a seus amigos que façam o mesmo.
fonte
O que realmente parece que você quer é um submódulo. Se você criar o primeiro repo (seu repo simples e privado) e adicioná-lo como um submódulo ao repo da versão avançada, poderá rastrear e puxar as alterações para o submódulo no repo avançado ao desenvolver o repo simples privado.
fonte