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

"branch" เป็นคำที่ใช้ในระบบควบคุมเวอร์ชันเพื่อแสดงบรรทัดการพัฒนาที่เป็นอิสระ พื้นที่เก็บข้อมูลอาจมีหนึ่งสาขาขึ้นไปทั้งนี้ขึ้นอยู่กับระบบ มีการรวมสาขาเมื่อการเปลี่ยนแปลงจำเป็นต้องเผยแพร่จากสาขาหนึ่งไปยังสาขาอื่น

5
การเรียงลำดับใหม่ของการกระทำ
ฉันกำลังทำงานในสาขาหนึ่งและต้องการให้คำมั่นที่จะรวมเข้ากับสาขาอื่น: a-b-c-d-e-f-g (branchA) / --o-x-x-x-x-x-x-x-x-x-x (master) \ x-x-x-x-x (branchB) (ตัวอักษรแสดงถึงการกระทำและ "x" คือการกระทำที่ไม่เกี่ยวข้อง) อย่างไรก็ตามฉันสังเกตว่ามันเป็นความคิดที่ดีที่จะรวมการกระทำบางอย่าง ฉันต้องการ "เชื่อมต่อ" คอมมิต a, d, e และ g เป็นแพทช์เดียวและส่งให้เชี่ยวชาญ การกระทำ b และ f ควรเป็นไปตามที่กระทำกับ branch B มีวิธี 'git'-ish ที่ดีในการบรรลุหรือไม่?
110 git  branch 


1
แสดงภาพสาขาบน GitHub
ใน TortoiseGit, gitk หรือบน BitBucket เป็นเรื่องปกติที่จะมีการแสดงภาพประวัติโครงการพร้อมทุกสาขาดังนี้: อย่างไรก็ตามประวัติการคอมมิตของ GutHub ดูเหมือนจะไม่แน่นอนอย่างน้อยก็หาวิธีแสดงกราฟแบบนี้ไม่ได้ UI บนเว็บของ GitHub สามารถแสดงภาพกิ่งก้านเหมือนกับไคลเอนต์ Git อื่น ๆ ได้หรือไม่?
106 git  github  branch 

3
ทำการเปลี่ยนแปลงทั้งหมดของฉันในสาขาปัจจุบันและย้ายไปยังสาขาใหม่ใน Git
ฉันเริ่มทำงานในสิ่งที่ฉันคิดว่าจะเป็นการแก้ไขข้อบกพร่องเล็กน้อยในสาขาหลักของฉัน อย่างไรก็ตามมันไม่สามารถควบคุมได้จนถึงจุดที่ฉันหวังว่าฉันจะสร้างสาขาแยกต่างหากเพื่อทำการพัฒนาตั้งแต่แรก ตอนนี้สิ่งที่ฉันอยากทำคือ: สร้างสาขาใหม่ชื่อ (พูด) "edge" ย้ายไฟล์ที่เปลี่ยนแปลง / ไม่ถูกติดตามทั้งหมดจาก master ไปยัง edge (เช่นนั้น master จะไม่เปลี่ยนแปลงจากตอนที่ฉันเริ่มแก้ไขข้อบกพร่อง) ทำงานของฉันให้เสร็จสิ้นรวมกลับเป็นหลัก ฉันจะทำเช่นนี้ได้อย่างไร?
105 git  branch 

5
ฉันสามารถยกเลิกการเข้าสู่สาขาอื่นใน tfs 2008 ได้หรือไม่
สมมติว่านักพัฒนาบางคนในทีมของฉันระงับการเปลี่ยนแปลงของเขาที่เขาทำในสาขา A และฉันกำลังทำงานในสาขา B ฉันจะยกเลิกการเปลี่ยนแปลงในสาขา B ได้หรือไม่ (โดย GUI หรือพร้อมรับคำสั่ง)
105 tfs  branch  shelve  unshelve 

2
อัปเดตสาขาท้องถิ่นด้วยการเปลี่ยนแปลงจากสาขาระยะไกลที่ติดตาม
ฉันมีสาขาในประเทศที่ชื่อว่า ' my_local_branch' origin/my_remote_branchซึ่งติดตามสาขาระยะไกล ตอนนี้สาขาระยะไกลได้รับการอัปเดตแล้วและฉันอยู่ใน ' my_local_branch' และต้องการดึงการเปลี่ยนแปลงเหล่านั้น ฉันควรทำอย่างไร: git pull origin my_remote_branch:my_local_branch นี้เป็นวิธีที่ถูกต้องหรือไม่?

2
ดึงคอมมิตทั้งหมดจากสาขาผลักคอมมิตที่ระบุไปยังอีกอัน
ฉันมีสาขาดังต่อไปนี้: master production และสาขาระยะไกลต่อไปนี้: origin/master origin/production ฉันมีสคริปต์ที่ดึงข้อมูลorigin/masterสาขาและได้รับความแตกต่างของสิ่งที่เปลี่ยนแปลงไปจากการดึงข้อมูลล่าสุดของฉัน ( log -p master..origin/master) origin/masterแล้วฉันจะผสาน คอมมิตที่พบจะถูกพุชไปยังเครื่องมือตรวจสอบโค้ด ฉันต้องการที่จะผลักดันกระทำที่ประสบความสำเร็จ - และมีเพียงพวกเขา - origin/productionสาขาการผลิตและแล้วแน่นอนไป ฉันจะทำเช่นนั้นได้อย่างไร? นอกจากนี้ฉันยังมีสคริปต์ 2 สคริปต์ที่เรียกใช้: สคริปต์ที่ดึงข้อมูลจากorigin/masterพุชส่งรายละเอียดไปยังฐานข้อมูลและรวมและอีกอันที่ฉันกำลังเขียนอยู่ซึ่งจะต้องผลักดันการกระทำที่ประสบความสำเร็จ ฉันต้องการให้สคริปต์ 2 ตัวนี้ทำงานในขณะที่หลีกเลี่ยงเงื่อนไขการแข่งขัน / ผสานความขัดแย้ง เนื่องจากฉันต้องการทำงานกับความมุ่งมั่นที่ระบุเท่านั้นอาจมีวิธีกำจัดการกระทำที่ฉันไม่ต้องการ?
104 git  branch 

5
เปลี่ยนชื่อสาขาในคอมไพล์
อาจมีมากกว่าหนึ่งวิธีในการถามคำถามนี้ดังนั้นนี่คือคำอธิบายของปัญหา ฉันกำลังทำงานหลักและมุ่งมั่นบางอย่างจากนั้นก็ตัดสินใจว่าฉันต้องการพักงานนั้นไว้ ฉันสำรองข้อมูลไว้สองสามข้อแล้วแยกจากก่อนที่ฉันจะเริ่มงานอึ ในทางปฏิบัติได้ผลดีตอนนี้ฉันมีสาขาอื่นเป็นสาขาการพัฒนาหลักของฉัน ฉันสงสัยว่าฉันจะเปลี่ยนแปลงสิ่งต่างๆรอบตัวได้อย่างไรดังนั้นฉันจึงทำงานกับผู้เชี่ยวชาญอีกครั้ง แต่มันไม่มีงานขยะของฉันและบอกว่างานอยู่ในสาขาอื่น วิธีบางอย่างที่สามารถถาม / แก้ไขได้: ฉันจะเปลี่ยนชื่อสาขาหลักของฉันไปเป็นอย่างอื่นได้อย่างไรแล้วเปลี่ยนชื่อสาขาอื่นเป็นหลัก ฉันจะสำรองข้อมูลหลักแล้วทำให้การกระทำทั้งหมดที่ฉันสำรองไว้ในอดีตไปอยู่ในสาขาอื่นได้อย่างไร ขอบคุณสำหรับคำตอบ (ด่วน) ทั้งหมด! พวกเขาดีทั้งหมด
103 git  branch 

4
การติดตาม git-flow คุณควรจัดการกับโปรแกรมแก้ไขด่วนของรุ่นก่อนหน้าอย่างไร
หากคุณพยายามทำตามแบบจำลองการแยกส่วน git-flow ตามเอกสารที่นี่และด้วยเครื่องมือที่นี่คุณควรจัดการกับสถานการณ์นี้อย่างไร: คุณได้สร้างรุ่น 1.0 และรุ่น 2.0 จากนั้นคุณต้องสร้างโปรแกรมแก้ไขด่วนสำหรับ 1.0 คุณสร้างสาขาโปรแกรมแก้ไขด่วนจากแท็ก 1.0 และดำเนินการแก้ไขที่นั่น แต่แล้วอะไรล่ะ? โดยปกติคุณจะรวมเป็นหลักและวางแท็กรุ่น 1.1 ไว้ที่นั่น แต่คุณไม่สามารถผสาน 1.1 ถึงจุดหนึ่งหลังจาก 2.0 บนมาสเตอร์ได้ ฉันเดาว่าคุณสามารถวางแท็กรุ่นในสาขาโปรแกรมแก้ไขด่วนได้ แต่จะสร้างสาขาถาวรข้างต้นแบบที่จะมีแท็กรุ่น เป็นวิธีที่ถูกต้องหรือไม่?
103 git  branch  git-flow  hotfix 

3
git โคลนนิ่งตื้น (โคลน - ความลึก) คิดถึงสาขาระยะไกล
หลังจากโคลนที่เก็บระยะไกลแล้วจะไม่แสดงสาขาระยะไกลโดยอ็อพชัน -a อะไรคือปัญหา? จะแก้จุดบกพร่องได้อย่างไร? ในตัวอย่างนี้สองสาขาระยะไกลจะไม่แสดง: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git $ cd pythonwebkit $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git --version git version 1.8.3.1 ลองใช้คำสั่งเดียวกันกับเครื่องอื่นมันทำงานได้ดี: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done. $ cd pythonwebkit/ …

3
GitHub: สาขา“ wip” คืออะไร?
เมื่อฉันเรียกดูที่เก็บ GitHub ฉันมักจะเห็นสาขา "wip" (เช่น3.1.0-wip) "wip" หมายถึงอะไร? ฉันไม่พบคำตอบจากที่ใดเลย - ทั้งใน Google และ GitHub: help
101 git  github  branch  git-branch 

12
กลยุทธ์การแตกแขนงที่ดีที่สุดเมื่อทำการบูรณาการอย่างต่อเนื่อง?
กลยุทธ์การแตกแขนงที่ดีที่สุดที่จะใช้เมื่อคุณต้องการผสานรวมอย่างต่อเนื่องคืออะไร? การแตกกิ่งก้าน:พัฒนาบนลำต้นเก็บกิ่งไว้สำหรับแต่ละรุ่น การแยกคุณสมบัติ:พัฒนาคุณลักษณะแต่ละอย่างในสาขาที่แยกจากกันผสานเพียงครั้งเดียวที่เสถียร มันสมเหตุสมผลหรือไม่ที่จะใช้ทั้งสองกลยุทธ์นี้ร่วมกัน เช่นเดียวกับคุณแยกสาขาสำหรับแต่ละรุ่น แต่คุณยังแตกสาขาสำหรับคุณสมบัติขนาดใหญ่ด้วย? หนึ่งในกลยุทธ์เหล่านี้เข้ากันได้ดีขึ้นด้วยการผสานรวมอย่างต่อเนื่องหรือไม่? การใช้การรวมแบบต่อเนื่องจะสมเหตุสมผลหรือไม่เมื่อใช้ลำต้นที่ไม่เสถียร

11
เปลี่ยนสาขา Git โดยไม่ต้องชำระเงินไฟล์
เป็นไปได้ไหมใน Git ที่จะเปลี่ยนไปใช้สาขาอื่นโดยไม่ตรวจสอบไฟล์ทั้งหมด หลังจากเปลี่ยนสาขาฉันต้องลบไฟล์ทั้งหมดสร้างใหม่คอมมิตและเปลี่ยนกลับ ดังนั้นการตรวจสอบไฟล์จึงเสียเวลา (และมีไฟล์ประมาณ 14,000 ไฟล์ซึ่งใช้งานได้ยาวนาน) เพื่อให้ทุกอย่างชัดเจน: ฉันต้องการทั้งหมดนี้เพื่ออัปโหลดเอกสารไปยัง GitHub ฉันมีที่เก็บที่มีสาขาgh-pages เมื่อฉันสร้างเอกสารภายในเครื่องใหม่ฉันคัดลอกไปยังไดเร็กทอรีที่เก็บคอมมิตและพุชไปที่ GitHub แต่ฉันไม่มีความสุขเพราะฉันมีเอกสารสองชุดในเครื่อง และฉันตัดสินใจที่จะสร้างสาขาที่ว่างเปล่าและหลังจากตกลงแล้วให้เปลี่ยนเป็นว่างและลบไฟล์ แต่การเปลี่ยนกลับเป็นการดำเนินการที่ยาวนานฉันจึงถามคำถามนี้ ฉันรู้ว่าฉันสามารถออกจากสาขาgh-pagesและลบไฟล์ได้ แต่ฉันไม่ชอบต้นไม้ที่ทำงานสกปรก
100 git  branch  git-checkout 

3
ฉันจะรวมสองคอมมิตเป็นคอมมิตเดียวได้อย่างไร?
ฉันมีสาขา 'โครงการแรก' ที่มี 2 ข้อตกลง ฉันต้องการกำจัดการกระทำเหล่านี้และทำให้มันปรากฏเป็นคอมมิตเดียว คำสั่งgit merge --squashฟังดูมีแนวโน้ม แต่เมื่อฉันเรียกใช้git merge --squashเทอร์มินัลของฉันจะแสดงตัวเลือกสำหรับคำสั่ง คำสั่งที่ถูกต้องคืออะไร? Commit 1: Added 'homepage.html' Added 'contacts.html' Commit 2: Added 'homepage.php' Added 'homepage.php' Deleted 'homepage.html' Deleted 'contacts.html'
99 git  merge  branch  git-svn  rebase 

2
ผลของการใช้กราฟต์ใน Mercurial
เมื่อเร็ว ๆ นี้มีคำถามมากมายเกี่ยวกับการข้ามการเปลี่ยนแปลงเมื่อรักษาสาขาเผยแพร่ใน Mercurial ตัวอย่างเช่น: Mercurial: การเปลี่ยนแปลงเฉพาะสาขาจะกลับมาอีกหลังจากการรวมหุ่น เหตุใด Mercurial backouts ในสาขาเดียวจึงส่งผลกระทบต่อสาขาอื่น ๆ ตั้งแต่เปิดตัวใน 2.0 ฉันเคยสงสัยเกี่ยวกับการใช้graftเพื่อหลีกเลี่ยงปัญหานี้ ให้ต้นไม้แก้ไขดังนี้: A---B---C---D---E---F---G---H---I---J Eสมมติว่าเราจำเป็นต้องสร้างสาขาที่ปล่อยข้ามการเปลี่ยนแปลงชั่วร้าย hg update -r D hg graft "F::J" ให้เรา: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' Q1: เกิดอะไรขึ้นที่นี่? ฉันเข้าใจว่าtransplantจะมีการสร้างแพตช์จากF::Jนั้นจึงนำไปใช้Dแต่graftมีการกล่าวว่าจะใช้การผสาน 3 ทางแทนที่จะเป็นแพตช์ แล้ว ....... ทำงานอย่างไร? ทำไมถึงดีขึ้น? ให้บอกว่าตอนนี้ฉันแก้ไขEและรวมเข้ากับสาขาการเผยแพร่ของฉัน --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1 เป็นการผสานแบบตรง ไม่มีอะไรพิเศษที่นั่น M2 …

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