ฉันสร้างสาขาใหม่ใน Git:
git branch my_branch
ผลักดัน:
git push origin my_branch
ตอนนี้มีคนบอกว่ามีการเปลี่ยนแปลงบางอย่างบนเซิร์ฟเวอร์และฉันต้องการดึงออกorigin/my_branch
มา ฉันทำ:
git pull
แต่ฉันได้รับ:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
ฉันเรียนรู้ว่าฉันสามารถใช้งานได้กับ:
git branch --set-upstream my_branch origin/my_branch
แต่ทำไมฉันต้องทำสิ่งนี้กับทุกสาขาที่ฉันสร้าง เห็นได้ชัดหรือไม่ว่าถ้าฉันผลักmy_branch
เข้าไปorigin/my_branch
ฉันก็อยากจะorigin/my_branch
เข้าไปmy_branch
? ฉันจะทำให้พฤติกรรมนี้เป็นค่าเริ่มต้นได้อย่างไร
--set-upstream
ตัวเลือกจะถูกเลิกใช้ คุณควรใช้--track
หรือ--set-upstream-to
แทน
--set-upstream
เลิกใช้แล้วบางที git devs ควรลบออกจากข้อความช่วยเหลือที่แสดงเมื่อคุณรันgit push
โดยไม่มีตัวเลือกและไม่มีการตั้งค่าอัปสตรีม
git branch --set-upstream
เลิกใช้แล้ว git push --set-upstream
ไม่ใช่.
branch.autosetupmerge
หมายความว่าการกำหนดค่าอัปสตรีมสำหรับสาขาใหม่จะถูกตั้งค่าโดยอัตโนมัติเฉพาะเมื่อสร้างสาขาจากสาขาการติดตามระยะไกล (เช่น<remote-name>/<branch-name>
) (ดูgit-config (1) ) คุณอาจจะสร้างสาขาของคุณจากสาขาท้องถิ่นที่มีอยู่ หากคุณกำลังแยกสาขาโดยตรงจากส่วนปลายของรีโมต (แม้จะอยู่ในสาขาโลคัล) คุณสามารถใช้git branch my_branch <remote-name>/<branch-name>
เพื่อตั้งค่าอัพสตรีมโดยอัตโนมัติ