'--set-upstream' ทำอะไร


327

คอมไพล์--set-upstreamทำอะไร

ฉันพยายามเข้าใจด้วยการอ่านคู่มือ gitแต่ฉันก็ไม่เข้าใจ


13
มีตัวเลือกใหม่--set-upstream-toซึ่งเปิดตัวเนื่องจาก confusions (IIRC) ในการตั้งค่าอัปสตรีม
Philip Oakley

คำตอบ:


411
git branch --set-upstream <remote-branch>

ตั้งสาขาระยะไกลเริ่มต้นสำหรับสาขาท้องถิ่นปัจจุบัน

git pullคำสั่งในอนาคตใด ๆ(ที่มีการเช็กเอาต์สาขาโลคัลปัจจุบัน)
จะพยายามนำคอมมิตจาก<remote-branch>เข้าสู่สาขาโลคัลปัจจุบัน


วิธีหนึ่งในการหลีกเลี่ยงการพิมพ์อย่างชัดเจน--set-upstreamคือการใช้แฟล็กชวเลขของมัน-uดังนี้:

git push -u origin local-branch

สิ่งนี้จะกำหนดความสัมพันธ์ต้นน้ำสำหรับความพยายามในการผลัก / ดึงในอนาคตโดยอัตโนมัติ
สำหรับรายละเอียดเพิ่มเติมชำระเงินนี้คำอธิบายรายละเอียดเกี่ยวกับสาขาต้นน้ำและการติดตาม


เพื่อหลีกเลี่ยงความสับสนเวอร์ชันล่าสุดของการgitคัดค้าน--set-upstreamตัวเลือกนี้ค่อนข้างคลุมเครือในความโปรดปรานของ--set-upstream-toตัวเลือกverbose มากขึ้นด้วยไวยากรณ์และพฤติกรรมที่เหมือนกัน

git branch --set-upstream-to <origin/remote-branch>

7
แฟล็ก --set-upstream เลิกใช้แล้วและจะถูกลบออก พิจารณาใช้ --track หรือต้งค่า-ต้นน้ำไป
Rohit ซิงห์ Sengar

1
ในคำสั่งนี้git push -u origin local-branchสิ่งที่originเป็นตัวแทน? มีกรณีใดบ้างที่ฉันจะพิมพ์สิ่งอื่นนอกเหนือจากoriginหลังจาก-u?
John Henckel

2
@JohnHenckel originหมายถึงที่เก็บ git ระยะไกลที่ใช้ในการโคลน สามารถมีได้หลายที่เก็บระยะไกลคอมไพล์ ในกรณีเช่นนี้originอาจถูกแทนที่ด้วยชื่อที่ถูกต้องของรีโมทที่ต้องการที่จะอ้างถึง
TheCodeArtist

ทำgit remote -vเพื่อหารีโมทของคุณหนึ่งเริ่มต้นคือoriginมักจะ
xploreraj

39

เมื่อคุณผลักดันไปยังรีโมตและคุณใช้--set-upstreamflag git เพื่อกำหนดสาขาที่คุณกำลังผลักดันให้เป็นสาขาการติดตามระยะไกลของสาขาที่คุณกำลังผลักดัน

เพิ่มระยะไกลติดตามหมายถึงสาขาที่คอมไพล์แล้วรู้ว่าสิ่งที่คุณต้องการจะทำเมื่อคุณgit fetch, git pullหรือgit pushในอนาคต จะถือว่าคุณต้องการให้สาขาในพื้นที่และสาขาระยะไกลนั้นมีการติดตามและทำสิ่งที่เหมาะสมเพื่อให้บรรลุสิ่งนี้

คุณสามารถบรรลุสิ่งเดียวกันกับหรือgit branch --set-upstream-to git checkout --trackดูหน้าช่วยเหลือของคอมไพล์ในการติดตามสาขาสำหรับข้อมูลเพิ่มเติม


เมื่อฉันเช็คเอาต์ด้วย -t มันจะตั้งค่าอัปสตรีมสำหรับการผลักดันสำหรับการดึงเท่านั้น
จิม

8

git branch --set-upstream <<origin/branch>> ไม่ได้รับการสนับสนุนอย่างเป็นทางการอีกต่อไปและถูกแทนที่ด้วย git branch --set-upstream-to <<origin/branch>>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.