Criação de dois projetos em único repositório Git - Stack Overflow em Português
Estou criando um projeto em Java web e quero criar um outro projeto em Android. Mas gostaria de criar apenas um repositório e dentro do mesmo possuir estes dois projetos com suas respectivas árvores de commits, como se fossem componentes separados.
É possível criar algo assim no Git?
editada 13/10/15 às 13:50
perguntada 7/10/15 às 2:39
você pode separar os projetos em pastas... mas não sei se é a maneira correta – David Schrammel 7/10/15 às 3:35
Não é possível. O Git tem suas vantagens, mas uma das desvantagens é justamente essa. O Git trabalha com o repositório como um todo. Na verdade é mais comum quando precisa de melhor organização e controle de acesso ter uma separação de projetos em partes e cada uma ter seu próprio repositório.
É evidente que pode, ainda que não recomendado, colocar ambos no mesmo repositório, mas será uma coisa só do ponto de vista do Git. Dá para fazer isto, mas qualquer tentativa de administrar como se fossem coisas separadas vai trazer mais confusão.
Separe em dois repositórios e seja feliz. Não tem porque não fazer isto.
Se quiser insistir nisto, tem uma solução no SO. Não pense que é simples lidar com isto corretamente. Não sei se terá tudo o que deseja e principalmente se compensa o esforço, especialmente quando algo sair errado.
No seu caso, me parece que os projetos são tão distintos que não valeria nem tentar colocar tudo em um repositório só.
E é claro que se quiser tratar como uma coisa só, não tem segredo.
respondida 7/10/15 às 9:25
Eu realmente desconheço a configuração que possibita a inclusão de mais de um projeto no mesmo repositório, da forma que você sugeriu.
Mas, uma alternativa seria você utilizar uma função do Git subtree que permite a possibilidade de estruturar diferentes repositórios, de tal modo que passe a impressão que está tudo em um mesmo.
Esse recurso do git permite gerenciar multiplos repositórios de tal forma:
|--- Reposotorio_1.0
|    |--- Repositorio_1.1
|         |--- index.html
|         |--- README.md
|--- Reposotorio_2.0
Os passos em base consistem em:
Criar os repósitorios que serão utilizados
Criar os Remotes para cada um dos repositórios
git remote add repositorio-1_0 https://github.com/usergit/Repositorio-1_0.git
git remote add repositorio-1_0 https://github.com/usergit/Repositorio-2_0.git
Adicionar os "repositórios-filhos" a partir do repositório principal
git subtree add --prefix=Repositorio-1_0/ Repositorio-1_0 master
git subtree add --prefix=Repositorio-2_0/ Repositorio-2_0 master
Obs.: Nesse modelo deverá ficar atento com o fluxo de atualização dos repositórios, podendo ser atualizado a partir do repositório principal para os repositórios filhos
Exemplo com 'push'
git push ---> No principal
Abaixo tem uma referência para um artigo que trará mais detalhes:
Artigo de "ROBERTO ACHAR - Multiplos repositórios"
editada 9/05/20 às 13:31
respondida 8/05/20 às 7:56
Olá, Luiz! Consegue detalhar algumas coisas descritas no link na sua resposta? Isto é importante pois este site pode sair do ar um dia. No SO, é importante que as respostas não dependam muito de links externos para ajudarem os usuários. – Dherik 8/05/20 às 9:05