Допустим, у меня есть настольный компьютер и ноутбук, и иногда я работаю на настольном компьютере, а иногда я работаю на ноутбуке.
Какой самый простой способ перемещать репозиторий git вперед и назад?
Я хочу, чтобы репозитории git были идентичными, чтобы я мог продолжить с того места, где я остановился, на другом компьютере.
Я хотел бы убедиться, что у меня есть одинаковые ветки и теги на обоих компьютерах.
Спасибо Йохан
Примечание: я знаю, как это сделать с помощью SubVersion, но мне любопытно, как это будет работать с git. Если это проще, я могу использовать третий компьютер в качестве классического сервера, с которым могут синхронизироваться два компьютера.
Примечание. Оба компьютера работают под управлением Linux.
Обновление :
Итак, давайте попробуем идею XANI: с чистым репозиторием git на сервере и синтаксисом команды push от KingCrunch. В этом примере есть два клиента и один сервер.
Итак, сначала создадим серверную часть.
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
Итак, с одного из других компьютеров я пытаюсь получить копию репо с помощью 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.
Затем войдите в это репо и добавьте файл:
cd workspace/
echo "test1" > testfile1.txt
git add testfile1.txt
git commit testfile1.txt -m "Added file testfile1.txt"
git push origin master
Теперь сервер обновлен с помощью testfile1.txt.
В любом случае, давайте посмотрим, сможем ли мы получить этот файл с другого компьютера.
mkdir -p ~/git_test/repo2
cd ~/git_test/repo2
git clone user@server:~/git_test/workspace/
cd workspace/
git pull
И теперь мы видим тестовый файл.
На этом этапе мы можем отредактировать его, добавив еще немного контента, и снова обновить сервер.
echo "test2" >> testfile1.txt
git add testfile1.txt
git commit -m "Test2"
git push origin master
Затем мы возвращаемся к первому клиенту и выполняем git pull, чтобы увидеть обновленный файл. И теперь я могу перемещаться между двумя компьютерами и добавлять третий, если захочу.