คำถามติดแท็ก git-branch

git-branch เป็นคำสั่ง Git ที่จัดการสาขา

20
ทำไมฉันต้องทำ - เซ็ตอัพสตรีมตลอดเวลา
ฉันสร้างสาขาใหม่ใน 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 …
1468 git  git-branch 

12
พฤติกรรมเริ่มต้นของ“ git push” โดยไม่ระบุสาขา
ฉันใช้คำสั่งต่อไปนี้เพื่อผลักดันไปยังสาขาระยะไกลของฉัน: git push origin sandbox ถ้าฉันพูด git push origin ผลักดันการเปลี่ยนแปลงในสาขาอื่นของฉันด้วยหรือจะอัพเดทเฉพาะสาขาปัจจุบันของฉัน ฉันมีสามสาขาmaster, และproductionsandbox git pushเอกสารไม่ได้ชัดเจนมากเกี่ยวกับเรื่องนี้ดังนั้นผมอยากจะชี้แจงนี้ให้ดี git pushคำสั่งต่อไปนี้อัพเดตทุกสาขาและรีโมทใด git push git push origin origin ด้านบนเป็นรีโมท ฉันเข้าใจว่าgit push [remote] [branch]จะดันเฉพาะสาขานั้นไปยังระยะไกล
1366 git  branch  git-branch  git-push 

30
ลบสาขาการติดตามไม่ได้อยู่ในระยะไกล
มีวิธีง่ายๆในการลบสาขาติดตามทั้งหมดที่มีระยะไกลเทียบเท่าไม่อยู่อีกต่อไป? ตัวอย่าง: สาขา (ท้องถิ่นและระยะไกล) เจ้านาย ต้นกำเนิด / Master ต้นกำเนิด / ข้อผิดพลาดแก้ไข-A ต้นกำเนิด / ข้อผิดพลาดแก้ไข-B ต้นกำเนิด / ข้อผิดพลาดแก้ไข-C ในพื้นที่ฉันมีสาขาหลักเท่านั้น ตอนนี้ฉันต้องทำงานกับbug-fix-aดังนั้นฉันจึงลองดูทำงานและผลักดันการเปลี่ยนแปลงไปยังรีโมต ต่อไปฉันทำเช่นเดียวกันกับข้อผิดพลาดแก้ไข-B สาขา (ท้องถิ่นและระยะไกล) เจ้านาย ข้อผิดพลาดแก้ไข-A ข้อผิดพลาดแก้ไข-B ต้นกำเนิด / Master ต้นกำเนิด / ข้อผิดพลาดแก้ไข-A ต้นกำเนิด / ข้อผิดพลาดแก้ไข-B ต้นกำเนิด / ข้อผิดพลาดแก้ไข-C ตอนนี้ฉันมีสาขาในประเทศต้นแบบ , ข้อผิดพลาดแก้ไข-A , ข้อผิดพลาดแก้ไข-B ผู้ดูแลสาขาหลักจะรวมการเปลี่ยนแปลงของฉันเข้ากับเจ้านายและลบสาขาทั้งหมดที่เขารวมไว้แล้ว ดังนั้นสถานะปัจจุบันคือตอนนี้: สาขา (ท้องถิ่นและระยะไกล) เจ้านาย ข้อผิดพลาดแก้ไข-A ข้อผิดพลาดแก้ไข-B ต้นกำเนิด …
1172 git  git-branch 


8
Git ผสานต้นแบบเข้ากับสาขาคุณลักษณะ
สมมติว่าเรามีสถานการณ์ต่อไปนี้ใน Git: พื้นที่เก็บข้อมูลที่สร้างขึ้น: mkdir GitTest2 cd GitTest2 git init การดัดแปลงบางอย่างในต้นแบบเกิดขึ้นและได้รับการยอมรับ: echo "On Master" > file git commit -a -m "Initial commit" Feature1 แยกออกจากงานหลักและงานบางอย่างเสร็จแล้ว: git branch feature1 git checkout feature1 echo "Feature1" > featureFile git commit -a -m "Commit for feature1" ในขณะเดียวกันจะพบข้อบกพร่องในรหัสหลักและมีการสร้างสาขาโปรแกรมแก้ไขด่วน: git checkout master git branch hotfix1 git checkout hotfix1 …

8
สร้างสาขาใน Git จากสาขาอื่น
ฉันมีสองสาขา: masterและdev ฉันต้องการที่จะสร้าง "สาขาคุณลักษณะ" จากdevสาขา ขณะนี้อยู่ที่การพัฒนาสาขาฉันทำ: $ git checkout -b myfeature dev ... (ทำงานบางส่วน) $ git commit -am "blablabla" $ git push origin myfeature แต่หลังจากเห็นภาพกิ่งไม้ของฉันฉันได้รับ: --**master** ------0-----0-----0-----0-----0 ------------------------**dev**----**myfeature** ฉันหมายความว่าสาขาดูเหมือน ff ที่รวมเข้าด้วยกันและฉันไม่เข้าใจว่าทำไม ... ฉันทำอะไรผิด คุณช่วยอธิบายฉันทีว่าคุณแยกสาขาจากสาขาอื่นและผลักดันกลับไปยังที่เก็บระยะไกลสำหรับสาขาฟีเจอร์ได้อย่างไร? ทุกสิ่งที่อยู่ในรูปแบบที่แตกแขนงเช่นเดียวที่อธิบายที่นี่

7
ฉันจะคัดลอกเวอร์ชันของไฟล์เดียวจากสาขา git หนึ่งไปยังอีกที่ได้อย่างไร
ฉันมีสองสาขาที่รวมเข้าด้วยกันอย่างสมบูรณ์ อย่างไรก็ตามหลังจากการผสานเสร็จสิ้นฉันรู้ว่ามีไฟล์หนึ่งไฟล์สับสนโดยการรวม (มีคนอื่นทำรูปแบบอัตโนมัติ, gah) และมันจะง่ายกว่าที่จะเปลี่ยนเป็นเวอร์ชั่นใหม่ในสาขาอื่นและ จากนั้นแทรกการเปลี่ยนแปลงหนึ่งบรรทัดของฉันอีกครั้งหลังจากนำมาไว้ในสาขาของฉัน ดังนั้นวิธีที่ง่ายที่สุดในคอมไพล์ในการทำเช่นนี้คืออะไร?


5
สร้างสาขา Git ด้วยการเปลี่ยนแปลงปัจจุบัน
ฉันเริ่มทำงานกับหัวหน้าสาขาของฉันโดยคิดว่างานของฉันจะง่าย หลังจากผ่านไปครู่หนึ่งฉันก็รู้ว่าจะต้องใช้เวลามากกว่านี้และฉันต้องการทำงานทั้งหมดนี้ในสาขาใหม่ ฉันจะสร้างสาขาใหม่และรับการเปลี่ยนแปลงทั้งหมดเหล่านี้กับฉันได้อย่างไรโดยไม่ต้องมีเจ้านายที่สกปรก
848 git  git-branch 

15
เปลี่ยนชื่อสาขาหลักสำหรับที่เก็บ Git ทั้งในพื้นที่และระยะไกล
ฉันมีสาขาที่ติดตามสาขาที่ห่างไกลmasterorigin/master ฉันต้องการเปลี่ยนชื่อพวกเขาเป็นmaster-oldทั้งในเครื่องและบนรีโมท เป็นไปได้ไหม สำหรับผู้ใช้รายอื่นที่ติดตามorigin/master(และผู้ที่อัปเดตmasterสาขาในท้องถิ่นของตนตลอดเวลาgit pull) จะเกิดอะไรขึ้นหลังจากฉันเปลี่ยนชื่อสาขาระยะไกล พวกเขาจะgit pullยังใช้งานได้หรือไม่หรือเกิดข้อผิดพลาดที่ไม่สามารถหาได้origin/masterอีกต่อไป จากนั้นต่อไปฉันต้องการสร้างmasterสาขาใหม่(ทั้งภายในและระยะไกล) อีกครั้งหลังจากที่ผมทำอย่างนี้อะไรจะเกิดขึ้นในขณะนี้ถ้าผู้ใช้งานอื่นทำgit pull? ฉันเดาว่าทั้งหมดนี้จะส่งผลให้เกิดปัญหามากมาย มีวิธีที่สะอาดเพื่อให้ได้สิ่งที่ฉันต้องการหรือไม่? หรือฉันควรปล่อยให้masterมันเป็นและสร้างสาขาใหม่master-newและทำงานที่นั่นต่อไปหรือไม่
820 git  git-branch  git-pull 

9
ย้ายตัวชี้สาขาไปยังการส่งที่แตกต่าง
หากต้องการย้ายตัวชี้แบรนช์ของสาขาที่เช็คเอาต์คุณสามารถใช้git reset --hardคำสั่งได้ แต่จะย้ายตัวชี้แบรนช์ของสาขาที่ไม่ได้ชำระเงินไปยังจุดอื่นได้อย่างไร
760 git  git-branch 

9
ทำความสะอาดกิ่งก้านสาขาระยะไกลเก่า
ฉันทำงานจากคอมพิวเตอร์สองเครื่อง (A และ B) และเก็บรีโมทคอมไพล์ทั่วไปในไดเรกทอรีดรอปบ็อกซ์ สมมติว่าฉันมีสองสาขาหลักและ devel ทั้งคู่กำลังติดตามต้นกำเนิด / ต้นแบบระยะไกลและต้นกำเนิด / devel ขณะนี้ในคอมพิวเตอร์ A ฉันจะลบสาขา devel บนโลคัลและรีโมต git push origin :heads/devel git branch -d devel ทำงานgit branch -aบนคอมพิวเตอร์ A ฉันได้รับรายการสาขาดังต่อไปนี้ เจ้านาย ต้นกำเนิด / HEAD ต้นกำเนิด / Master ทำงานgit fetchบนคอมพิวเตอร์ B ฉันสามารถลบสาขา devel ภายในgit branch -d develเครื่องได้ แต่ฉันไม่สามารถลบสาขา devel ระยะไกลได้ git …
696 git  git-branch 

9
อัปเดตสาขา Git จากต้นแบบ
ฉันใหม่กับ Git และตอนนี้ฉันอยู่ในสถานการณ์นี้: ฉันมีสี่สาขา (ปรมาจารย์ b1, b2 และ b3) หลังจากที่ฉันทำงานใน b1-b3 ฉันก็รู้ว่าฉันมีอะไรที่จะเปลี่ยนอาจารย์สาขาที่ควรจะอยู่ในสาขาอื่นทั้งหมด ฉันเปลี่ยนสิ่งที่ฉันต้องการในmasterและ ... นี่คือปัญหาของฉัน: ฉันจะอัปเดตสาขาอื่น ๆ ด้วยmasterรหัสสาขาได้อย่างไร
675 git  git-branch 

2
เหตุใด git จึงทำการผสานการกรอไปข้างหน้าอย่างรวดเร็ว
มาจาก Mercurial ฉันใช้กิ่งไม้เพื่อจัดระเบียบคุณสมบัติ โดยธรรมชาติฉันต้องการเห็นกระบวนการทำงานนี้ในประวัติศาสตร์ของฉันด้วย ฉันเริ่มโครงการใหม่โดยใช้คอมไพล์และทำฟีเจอร์แรกเสร็จ เมื่อทำการรวมคุณสมบัติฉันรู้ว่า git ใช้การกรอไปข้างหน้านั่นคือใช้การเปลี่ยนแปลงของฉันโดยตรงกับสาขาหลักถ้าเป็นไปได้และลืมเกี่ยวกับสาขาของฉัน ดังนั้นการคิดในอนาคต: ฉันเป็นคนเดียวที่ทำงานในโครงการนี้ ถ้าฉันใช้วิธีการเริ่มต้นของ git (การรวมกันอย่างรวดเร็ว) ประวัติของฉันจะส่งผลให้เกิดสาขายักษ์ใหญ่แห่งหนึ่ง ไม่มีใครรู้ว่าฉันใช้สาขาแยกสำหรับทุกฟีเจอร์เพราะในที่สุดฉันก็จะมีเพียงปรมาจารย์ยักษ์นั้น จะไม่ดูไม่เป็นมืออาชีพ? ด้วยเหตุผลนี้ฉันไม่ต้องการรวมการกรอไปข้างหน้าอย่างรวดเร็วและมองไม่เห็นสาเหตุที่เป็นค่าเริ่มต้น มีอะไรดีเกี่ยวกับมัน

19
ฉันจะแสดงรายการสาขาระยะไกลทั้งหมดใน Git 1.7+ ได้อย่างไร
ฉันลองgit branch -rแล้ว แต่นั่นแสดงเฉพาะสาขารีโมตที่ฉันติดตามในเครื่อง ฉันจะค้นหารายชื่อผู้ที่ฉันไม่ได้ทำอย่างไร (ไม่สำคัญสำหรับฉันว่าคำสั่งจะแสดงรายการรีโมตทั้งหมดหรือเฉพาะที่ไม่ได้ติดตาม)

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