กำลังซิงค์ส้อม
การตั้งค่า
ก่อนที่คุณจะสามารถซิงค์คุณต้องเพิ่มรีโมตที่ชี้ไปยังที่เก็บอัปสตรีม คุณอาจทำสิ่งนี้เมื่อคุณแยกทาง
เคล็ดลับ: การซิงค์ส้อมของคุณอัพเดตสำเนาโลคัลของที่เก็บเท่านั้น ไม่อัปเดตที่เก็บของคุณบน GitHub
$ git remote -v
# List the current remotes
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)
$ git remote add upstream https://github.com/otheruser/repo.git
# Set a new remote
$ git remote -v
# Verify new remote
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)
upstream https://github.com/otheruser/repo.git (fetch)
upstream https://github.com/otheruser/repo.git (push)
ซิงค์
มีสองขั้นตอนในการซิงค์ที่เก็บข้อมูลของคุณกับอัปสตรีม: ขั้นแรกคุณต้องดึงข้อมูลจากระยะไกลจากนั้นคุณจะต้องรวมสาขาที่ต้องการเข้ากับสาขาในพื้นที่ของคุณ
การดึงข้อมูล
การดึงข้อมูลจากพื้นที่เก็บข้อมูลระยะไกลจะนำมาซึ่งสาขาและการกระทำที่เกี่ยวข้อง เหล่านี้จะถูกเก็บไว้ในพื้นที่เก็บข้อมูลในพื้นที่ของคุณภายใต้สาขาพิเศษ
$ git fetch upstream
# Grab the upstream remote's branches
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/otheruser/repo
* [new branch] master -> upstream/master
ตอนนี้เรามีสาขาหลักของอัปสตรีมที่จัดเก็บในสาขาท้องถิ่นอัพสตรีม / มาสเตอร์
$ git branch -va
# List all local and remote-tracking branches
* master a422352 My local commit
remotes/origin/HEAD -> origin/master
remotes/origin/master a422352 My local commit
remotes/upstream/master 5fdff0f Some upstream commit
การผสม
ตอนนี้เราได้เรียกที่เก็บข้อมูลต้นน้ำมาแล้วเราต้องการรวมการเปลี่ยนแปลงเข้ากับสาขาท้องถิ่นของเรา สิ่งนี้จะทำให้สาขานั้นซิงค์กับต้นน้ำโดยไม่สูญเสียการเปลี่ยนแปลงในท้องถิ่นของเรา
$ git checkout master
# Check out our local master branch
Switched to branch 'master'
$ git merge upstream/master
# Merge upstream's master into our own
Updating a422352..5fdff0f
Fast-forward
README | 9 -------
README.md | 7 ++++++
2 files changed, 7 insertions(+), 9 deletions(-)
delete mode 100644 README
create mode 100644 README.md
หากสาขาในประเทศของคุณไม่มีข้อผูกพันใด ๆ git จะทำการ "ส่งต่ออย่างรวดเร็ว" แทน:
$ git merge upstream/master
Updating 34e91da..16c56ad
Fast-forward
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
เคล็ดลับ: หากคุณต้องการอัปเดตที่เก็บของคุณบน GitHub ให้ทำตามคำแนะนำที่นี่