ความแตกต่างระหว่างoriginและupstreamบนGitHubคืออะไร?
เมื่อgit branch -aคำสั่งเสร็จสิ้นบางสาขาจะมีคำนำหน้าเป็นorigin( remotes/origin/..) ในขณะที่บางคำสั่งมีคำนำหน้าเป็นupstream( remotes/upstream/..)
ความแตกต่างระหว่างoriginและupstreamบนGitHubคืออะไร?
เมื่อgit branch -aคำสั่งเสร็จสิ้นบางสาขาจะมีคำนำหน้าเป็นorigin( remotes/origin/..) ในขณะที่บางคำสั่งมีคำนำหน้าเป็นupstream( remotes/upstream/..)
คำตอบ:
สิ่งนี้ควรเข้าใจในบริบทของส้อม GitHub (ที่คุณแยก repo GitHub บน GitHub ก่อนที่จะทำการคัดแยกส้อมนั้นในเครื่อง)
upstreamโดยทั่วไปหมายถึงธุรกรรมซื้อคืนเดิมที่คุณได้แยกdownstream"และ" upstream" " สำหรับupstreamคำศัพท์เพิ่มเติม)origin เป็นทางแยกของคุณ: repo ของคุณเองบน GitHub, โคลนของ repo ดั้งเดิมของ GitHubจากหน้า GitHub:
เมื่อ repo ถูกโคลนมันจะมีรีโมทเริ่มต้นที่เรียก
originว่าชี้ไปที่ทางแยกของคุณบน GitHub ไม่ใช่ repo ดั้งเดิมที่ถูกแยกจาก
ในการติดตาม repo ดั้งเดิมคุณต้องเพิ่มชื่อรีโมตอื่นupstream
git remote add upstream git://github.com/<aUser>/<aRepo.git>
(พร้อมaUser/aRepoการอ้างอิงสำหรับผู้สร้างและที่เก็บต้นฉบับที่คุณแยกไว้)
คุณจะใช้upstreamเพื่อดึงข้อมูลจาก repo ดั้งเดิม (เพื่อให้สำเนาภายในเครื่องของคุณตรงกับโครงการที่คุณต้องการมีส่วนร่วม)
git fetch upstream
( โดยค่าเริ่มต้นgit fetchจะดึงจากคนเดียวoriginซึ่งไม่ใช่สิ่งที่ต้องการที่นี่)
คุณจะใช้originในการดึงและดันเนื่องจากคุณสามารถมีส่วนร่วมในพื้นที่เก็บข้อมูลของคุณเอง
git pull
git push
(อีกครั้งโดยไม่มีพารามิเตอร์จะใช้ 'ต้นกำเนิด' เป็นค่าเริ่มต้น)
คุณจะมีส่วนร่วมกลับไปupstreamrepo โดยการร้องขอดึง

upstreamโดยทั่วไปคืออะไร: stackoverflow.com/questions/2739376/…