Скажімо, у мене є настільний ПК і ноутбук, і іноді я працюю на настільному комп'ютері, а іноді - на ноутбуці.
Який найпростіший спосіб переміщати сховище git вперед і назад?
Я хочу, щоб сховища git були ідентичними, щоб я міг продовжувати там, де залишив, на іншому комп'ютері.
Я хотів би переконатися, що у мене однакові гілки та теги на обох комп’ютерах.
Дякую Йохане
Примітка: Я знаю, як це зробити за допомогою SubVersion, але мені цікаво, як це буде працювати з git. Якщо це простіше, я можу використовувати третій ПК як класичний сервер, проти якого два ПК: s можуть синхронізуватися.
Примітка: Обидва комп’ютери працюють під управлінням Linux.
Оновлення :
Тож спробуємо ідею XANI: s з оголеним репозитарієм git на сервері та синтаксисом команди push від KingCrunch. У цьому прикладі є два клієнти та один сервер.
Тож давайте спочатку створимо серверну частину.
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
Тоді з одного з інших комп’ютерів я намагаюся отримати копію репо з клоном:
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, щоб побачити оновлений файл. І тепер я можу пересуватись між двома комп’ютерами і додавати третій, якщо хочу.