Giả sử rằng tôi có một máy tính để bàn và một máy tính xách tay, đôi khi tôi làm việc trên máy tính để bàn và đôi khi tôi làm việc trên máy tính xách tay.
Cách dễ nhất để di chuyển kho lưu trữ git qua lại là gì?
Tôi muốn các kho lưu trữ git giống hệt nhau, để tôi có thể tiếp tục ở nơi tôi đã rời khỏi máy tính khác.
Tôi muốn đảm bảo rằng tôi có các nhánh và thẻ giống nhau trên cả hai máy tính.
Cảm ơn Johan
Lưu ý: Tôi biết cách thực hiện điều này với SubVersion, nhưng tôi tò mò về cách điều này sẽ hoạt động với git. Nếu dễ dàng hơn, tôi có thể sử dụng máy tính thứ ba làm máy chủ cổ điển mà hai máy tính: s có thể đồng bộ hóa với nhau.
Lưu ý: Cả hai máy tính đều chạy Linux.
Cập nhật :
Vì vậy, hãy thử ý tưởng của XANI: với một repo git trần trên máy chủ và cú pháp lệnh đẩy từ KingCrunch. Trong ví dụ này có hai máy khách và một máy chủ.
Vì vậy, hãy tạo phần máy chủ trước.
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
Vì vậy, sau đó từ một trong những máy tính khác, tôi cố gắng lấy một bản sao của repo với 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.
Sau đó vào repo đó và thêm tệp:
cd workspace/
echo "test1" > testfile1.txt
git add testfile1.txt
git commit testfile1.txt -m "Added file testfile1.txt"
git push origin master
Bây giờ máy chủ được cập nhật với testfile1.txt.
Dù sao, hãy xem liệu chúng ta có thể lấy tệp này từ máy tính khác không.
mkdir -p ~/git_test/repo2
cd ~/git_test/repo2
git clone user@server:~/git_test/workspace/
cd workspace/
git pull
Và bây giờ chúng ta có thể thấy testfile.
Tại thời điểm này, chúng tôi có thể chỉnh sửa nó với một số nội dung hơn và cập nhật lại máy chủ.
echo "test2" >> testfile1.txt
git add testfile1.txt
git commit -m "Test2"
git push origin master
Sau đó, chúng tôi quay lại ứng dụng khách đầu tiên và thực hiện thao tác kéo git để xem tệp đã cập nhật. Và bây giờ tôi có thể di chuyển qua lại giữa hai máy tính và thêm một phần ba nếu tôi muốn.