วิธีอัปเดต GitHub ที่เป็นทางแยกที่มีการเปลี่ยนแปลงจากที่เก็บข้อมูลอัปสตรีมระยะไกล
คำแนะนำจาก GitHub ช่วยเหลือ:
การกำหนดค่า Remote Fork
การซิงค์ส้อม
คำแนะนำในการตั้งค่า / การใช้งาน:
เปิด Git Bash (Windows) หรือ Linux / Mac Terminal
หากคุณยังไม่ได้โคลนที่เก็บข้อมูลของคุณคุณต้องเปลี่ยนเป็นไดเรกทอรีการทำงานของโฟลเดอร์การพัฒนาของคุณและโคลนไปยังเวิร์กสเตชันของคุณ
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
เปลี่ยนเป็นไดเร็กทอรีการทำงานของ repo ที่มีการแยกของคุณบนเวิร์กสเตชันของคุณ
$ cd /user/development/my_forked_repo/
แสดงรายการที่เก็บข้อมูลรีโมตที่กำหนดค่าปัจจุบันสำหรับ fork ของคุณ
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
ระบุที่เก็บรีโมตอัปสตรีมระยะไกลใหม่ที่จะซิงค์กับทางแยก
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
ตรวจสอบพื้นที่เก็บข้อมูลอัปสตรีมใหม่ที่คุณระบุไว้สำหรับทางแยกของคุณ
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
ดึงกิ่งไม้และการกระทำที่เกี่ยวข้องจากที่เก็บต้นน้ำ มุ่งมั่นที่จะโทจะถูกเก็บไว้ในสาขาท้องถิ่นต้นน้ำ / ต้นแบบ
$ git fetch upstream
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/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
* [new branch] master -> upstream/master
ตรวจสอบสาขาหลักของท้องถิ่นของคุณ
$ git checkout master
Switched to branch 'master'
รวมการเปลี่ยนแปลงจากอัปสตรีม / มาสเตอร์เข้ากับสาขาหลักในพื้นที่ของคุณ สิ่งนี้จะทำให้สาขาหลักของสาขาของคุณซิงค์กับที่เก็บข้อมูลต้นน้ำโดยไม่สูญเสียการเปลี่ยนแปลงในเครื่องของคุณ
$ git merge upstream/master
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(-)
ตอนนี้คุณจะต้องผลักดันการกระทำที่จะแยกของคุณ
$ git push
หากคุณยังไม่ได้รับการรับรองความถูกต้องมันจะถามชื่อผู้ใช้ / รหัสผ่าน Github ของคุณ เมื่อมีการตรวจสอบความถูกต้องของคอมมิชชันใหม่แล้วควรผลักไปที่ทางแยกของคุณและมองเห็นได้บน GitHub