Digamos que eu tenha um PC desktop e um laptop, e às vezes trabalho no desktop e às vezes trabalho no laptop.
Qual é a maneira mais fácil de mover um repositório git para frente e para trás?
Quero que os repositórios git sejam idênticos, para que eu possa continuar de onde parei no outro computador.
Gostaria de ter certeza de que tenho os mesmos branches e tags em ambos os computadores.
Obrigado johan
Nota: Eu sei como fazer isso com o SubVersion, mas estou curioso para saber como isso funcionaria com o git. Se for mais fácil, posso usar um terceiro pc como servidor clássico com o qual os dois pc: s podem sincronizar.
Nota: Ambos os computadores estão executando Linux.
Atualização :
Então, vamos tentar a ideia do XANI: s com um repositório git vazio em um servidor e a sintaxe de comando push do KingCrunch. Neste exemplo, há dois clientes e um servidor.
Portanto, vamos criar primeiro a parte do servidor.
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
Então, de um dos outros computadores, tento obter uma cópia do repo com clone:
git clone user@server:~/git_test/workspace/
Initialized empty Git repository in /home/user/git_test/repo1/workspace/.git/
warning: You appear to have cloned an empty repository.
Em seguida, vá para esse repo e adicione um arquivo:
cd workspace/
echo "test1" > testfile1.txt
git add testfile1.txt
git commit testfile1.txt -m "Added file testfile1.txt"
git push origin master
Agora o servidor está atualizado com testfile1.txt.
De qualquer forma, vamos ver se conseguimos esse arquivo do outro computador.
mkdir -p ~/git_test/repo2
cd ~/git_test/repo2
git clone user@server:~/git_test/workspace/
cd workspace/
git pull
E agora podemos ver o arquivo de teste.
Neste ponto, podemos editá-lo com mais algum conteúdo e atualizar o servidor novamente.
echo "test2" >> testfile1.txt
git add testfile1.txt
git commit -m "Test2"
git push origin master
Em seguida, voltamos ao primeiro cliente e fazemos um git pull para ver o arquivo atualizado. E agora posso ir e voltar entre os dois computadores e adicionar um terceiro, se quiser.