สมมติว่าฉันมีพีซีเดสก์ท็อปและแล็ปท็อปบางครั้งฉันทำงานบนเดสก์ท็อปและบางครั้งฉันก็ทำงานบนแล็ปท็อป
วิธีที่ง่ายที่สุดในการย้ายที่เก็บ git ไปมาคืออะไร?
ฉันต้องการให้ที่เก็บ git เหมือนกันเพื่อที่ฉันจะได้ดำเนินการต่อจากที่ที่ฉันทิ้งไว้ในคอมพิวเตอร์เครื่องอื่น
ฉันต้องการตรวจสอบให้แน่ใจว่าฉันมีสาขาและแท็กเดียวกันบนคอมพิวเตอร์ทั้งสองเครื่อง
ขอบคุณ Johan
หมายเหตุ: ฉันรู้วิธีทำกับ SubVersion แต่ฉันอยากรู้ว่ามันจะทำงานกับคอมไพล์อย่างไร ถ้าง่ายกว่านั้นฉันสามารถใช้พีซีเครื่องที่สามเป็นเซิร์ฟเวอร์แบบคลาสสิกที่พีซีสองเครื่องสามารถซิงค์ได้
หมายเหตุ: คอมพิวเตอร์ทั้งสองเครื่องกำลังใช้งาน Linux
อัปเดต :
ลองใช้แนวคิด XANI: s กับ repo git เปล่าบนเซิร์ฟเวอร์และไวยากรณ์คำสั่ง push จาก KingCrunch ในตัวอย่างนี้มีไคลเอนต์สองตัวและหนึ่งเซิร์ฟเวอร์
มาสร้างส่วนของเซิร์ฟเวอร์ก่อน
ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init
ดังนั้นจากคอมพิวเตอร์เครื่องอื่นฉันพยายามรับสำเนา repo ด้วยโคลน:
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.
จากนั้นไปที่ repo นั้นและเพิ่มไฟล์:
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
จากนั้นเรากลับไปที่ไคลเอนต์แรกและทำการดึงคอมไพล์เพื่อดูไฟล์ที่อัปเดต และตอนนี้ฉันสามารถเลื่อนไปมาระหว่างคอมพิวเตอร์ทั้งสองเครื่องและเพิ่มเครื่องที่สามได้หากต้องการ