Powiedzmy, że mam komputer stacjonarny i laptop i czasami pracuję na komputerze stacjonarnym, a czasami na laptopie.
Jaki jest najłatwiejszy sposób przenoszenia repozytorium git w tę iz powrotem?
Chcę, aby repozytoria git były identyczne, abym mógł kontynuować od miejsca, w którym wyszedłem na drugim komputerze.
Chciałbym się upewnić, że mam te same gałęzie i tagi na obu komputerach.
Dzięki, Johan
Uwaga: wiem, jak to zrobić z SubVersion, ale jestem ciekawy, jak to zadziała z git. Jeśli jest to łatwiejsze, mogę użyć trzeciego komputera jako klasycznego serwera, z którym oba komputery mogą się synchronizować.
Uwaga: na obu komputerach działa Linux.
Aktualizacja :
Wypróbujmy więc pomysł XANI: z gołym repozytorium git na serwerze i składnią poleceń push z KingCrunch. W tym przykładzie jest dwóch klientów i jeden serwer.
Więc najpierw utwórzmy część serwera.
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
Więc wtedy z jednego z pozostałych komputerów próbuję pobrać kopię repozytorium z klonem:
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.
Następnie przejdź do tego repozytorium i dodaj plik:
cd workspace/
echo "test1" > testfile1.txt
git add testfile1.txt
git commit testfile1.txt -m "Added file testfile1.txt"
git push origin master
Teraz serwer jest aktualizowany za pomocą pliku testfile1.txt.
W każdym razie zobaczmy, czy uda nam się pobrać ten plik z innego komputera.
mkdir -p ~/git_test/repo2
cd ~/git_test/repo2
git clone user@server:~/git_test/workspace/
cd workspace/
git pull
Teraz możemy zobaczyć plik testowy.
W tym momencie możemy edytować go z większą zawartością i ponownie zaktualizować serwer.
echo "test2" >> testfile1.txt
git add testfile1.txt
git commit -m "Test2"
git push origin master
Następnie wracamy do pierwszego klienta i wykonujemy polecenie git pull, aby zobaczyć zaktualizowany plik. Teraz mogę poruszać się między dwoma komputerami i dodać trzeci, jeśli zechcę.