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

การเปลี่ยนจุดเริ่มต้นของสาขาในระบบควบคุมเวอร์ชัน

6
git rebase ร้ายแรง: ต้องการการแก้ไขครั้งเดียว
ฉันมีสาขาของที่เก็บสาธารณะและฉันพยายามที่จะอัพเดทสาขาของฉันด้วยการกระทำในปัจจุบันจากที่เก็บต้นฉบับ: $ git fetch <remote> remote: Counting objects: 24, done. remote: Compressing objects: 100% (20/20), done. remote: Total 20 (delta 12), reused 0 (delta 0) Unpacking objects: 100% (20/20), done. From git://github.com/path_to/repo 9b70165..22127d0 master -> $/master $ git rebase <remote> fatal: Needed a single revision invalid upstream <remote> นี่<remote>คือแทนที่ชื่อระยะไกลของฉันและไม่ใช่ชื่อระยะไกลของฉันจริง ๆ …
162 git  github  rebase 

9
Git: วิธีการลดการกระทำที่เฉพาะเจาะจง
ฉันต้องการลดการกระทำที่เฉพาะเจาะจงไม่ใช่หัวหน้าของสาขาอื่น: A --- B --- C master \ \-- D topic ถึง A --- B --- C master \ \-- D topic แทน A --- B --- C master \ \-- D topic ฉันจะบรรลุสิ่งนั้นได้อย่างไร

5
เปลี่ยนข้อความคอมมิตเก่าใน Git
ผมพยายามที่จะแก้ไขข้อความกระทำเก่าตามที่อธิบายไว้ที่นี่ เป็นสิ่งที่ตอนนี้เมื่อฉันพยายามที่จะเรียกมันว่าrebase -i HEAD~5interactive rebase already started จากนั้นฉันลอง: git rebase --continueแต่ได้รับข้อผิดพลาดนี้: error: Ref refs/heads/master is at 7c1645b447a8ea86ee143dd08400710c419b945b but expected c7577b53d05c91026b9906b6d29c1cf44117d6ba fatal: Cannot lock the ref 'refs/heads/master'. ความคิดใด ๆ ?

2
คุณจะลดการเปลี่ยนแปลงของสาขาปัจจุบันบนการเปลี่ยนแปลงที่ถูกผสานได้อย่างไร
ตกลง. ถ้าฉันอยู่ในสาขา (พูดworking) และฉันต้องการที่จะรวมในการเปลี่ยนแปลงจากสาขาอื่น (พูดmaster) แล้วฉันจะเรียกใช้คำสั่งgit-merge masterในขณะที่อยู่ในworkingสาขาและการเปลี่ยนแปลงที่ได้รับการผสานโดยไม่ต้องลดประวัติศาสตร์เลย ถ้าฉันทำงานgit-rebase masterแล้วการเปลี่ยนแปลงในmasterนั้นจะถูก rebased เพื่อวางไว้ด้านบนของworkingสาขาของฉัน แต่ถ้าฉันต้องการที่จะรวมในการเปลี่ยนแปลงจากmasterแต่รีบูตการเปลี่ยนแปลงของฉันworkingให้อยู่ด้านบน ฉันจะทำอย่างไร มันสามารถทำได้? ฉันสามารถทำงานgit-rebase workingบนmasterสาขาของฉันเพื่อให้การเปลี่ยนแปลงของฉันอยู่ด้านบนในmasterสาขา แต่ฉันต้องการที่จะสามารถทำเช่นนั้นในworkingสาขาของฉันและฉันไม่ทราบวิธี สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถนึกได้คือการสร้างสาขาใหม่จากmasterนั้นจึงworkingทำการเปลี่ยนแปลงของสิ่งที่อยู่ด้านบน แต่จากนั้นฉันก็จะมีสาขาใหม่แทนที่จะเปลี่ยนworkingสาขา
144 git  merge  rebase  git-rebase 

3
การแก้ไขข้อขัดแย้งผสาน 'ทั้งที่เพิ่ม' ในคอมไพล์?
ฉันรีบูตด้วยระบบคอมไพล์และหนึ่งความขัดแย้งที่ฉันได้รับคือ 'เพิ่มทั้งคู่' - นั่นคือชื่อไฟล์เดียวกันถูกเพิ่มอย่างอิสระในสาขาของฉันและในสาขาที่ฉันรีบูต git statusบอกฉัน: # Unmerged paths: # (use "git reset HEAD <file>..." to unstage) # (use "git add/rm <file>..." as appropriate to mark resolution) # # both added: src/MyFile.cs คำถามของฉันคือฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันต้องใช้เครื่องมือผสานหรือมีวิธีที่ฉันสามารถทำได้เพียงแค่จาก commandline หรือไม่ ถ้าฉันgit rm src/MyFile.csgit รู้ได้อย่างไรว่าฉันต้องการลบไฟล์เวอร์ชันใดและฉันต้องการเก็บไว้อย่างไร
138 git  merge  rebase 

4
การเปลี่ยนสาขาระยะไกลใน Git
ฉันใช้ที่เก็บ Git ระดับกลางเพื่อมิเรอร์ที่เก็บ SVN ระยะไกลซึ่งผู้คนสามารถโคลนและทำงานได้ พื้นที่เก็บข้อมูลระดับกลางมีสาขาหลักที่ปรับใหม่ทุกคืนจาก SVN ต้นน้ำและเรากำลังดำเนินการเกี่ยวกับสาขาคุณลักษณะ ตัวอย่างเช่น: remote: master local: master feature ฉันสามารถผลักสาขาคุณลักษณะกลับไปที่รีโมตได้สำเร็จและจบลงด้วยสิ่งที่ฉันคาดหวัง: remote: master feature local: master feature จากนั้นฉันตั้งค่าสาขาใหม่เพื่อติดตามรีโมท: remote: master feature local: master feature -> origin/feature และทั้งหมดเป็นอย่างดี สิ่งที่ฉันต้องการจะทำต่อจากนี้คือการปรับฐานสาขาฟีเจอร์ใหม่เป็นสาขาหลักบนรีโมท แต่ฉันต้องการทำสิ่งนี้จากเครื่องในพื้นที่ของฉัน ฉันต้องการที่จะทำ: git checkout master git pull git checkout feature git rebase master git push origin feature เพื่อให้สาขาของคุณสมบัติระยะไกลเป็นปัจจุบันกับรีโมตมาสเตอร์ …

6
ไม่สามารถผลักดันไปยังสาขาหลังจากรีบูต
เราใช้คอมไพล์และมีสาขาหลักและสาขานักพัฒนาซอฟต์แวร์ ฉันต้องเพิ่มฟีเจอร์ใหม่แล้วจึงทำการ rebit to master จากนั้นพุช master ไปที่เซิร์ฟเวอร์ CI ปัญหาคือว่าถ้าฉันมีข้อขัดแย้งระหว่างการรีบูตฉันไม่สามารถผลักดันไปยังสาขานักพัฒนาซอฟต์แวร์ระยะไกลของฉัน (บน Github) หลังจากการรีบูตเสร็จสมบูรณ์จนกว่าฉันจะดึงสาขาระยะไกลของฉัน ทำให้การกระทำที่ซ้ำกัน เมื่อไม่มีความขัดแย้งทำงานตามที่คาดไว้ คำถาม: หลังจากการรีบูตและการแก้ไขข้อขัดแย้งฉันจะซิงค์สาขานักพัฒนาซอฟต์แวร์ในพื้นที่และระยะไกลได้อย่างไรโดยไม่ต้องสร้างการคอมมิทซ้ำ ติดตั้ง: // master branch is the main branch git checkout master git checkout -b myNewFeature // I will work on this at work and at home git push origin myNewFeature // work work …

5
คอมมิต Git จะซ้ำกันในสาขาเดียวกันหลังจากทำการ rebase
ผมเข้าใจสถานการณ์ที่นำเสนอในโปร Git เกี่ยวกับมีดหมอ rebasing โดยทั่วไปผู้เขียนจะบอกวิธีหลีกเลี่ยงการกระทำที่ซ้ำกัน: อย่าตั้งฐานใหม่ว่าคุณได้พุชไปยังที่เก็บสาธารณะ ฉันจะบอกคุณเกี่ยวกับสถานการณ์เฉพาะของฉันเพราะฉันคิดว่ามันไม่ตรงกับสถานการณ์ Pro Git อย่างแน่นอนและฉันยังคงจบลงด้วยการกระทำที่ซ้ำกัน สมมติว่าฉันมีสาขาที่อยู่ห่างไกลสองแห่งกับสาขาในพื้นที่: origin/master origin/dev | | master dev ทั้งสี่สาขามีความมุ่งมั่นเดียวกันและฉันจะเริ่มพัฒนาในdev: origin/master : C1 C2 C3 C4 master : C1 C2 C3 C4 origin/dev : C1 C2 C3 C4 dev : C1 C2 C3 C4 หลังจากการกระทำสองสามครั้งฉันจะผลักดันการเปลี่ยนแปลงไปที่origin/dev: origin/master : C1 C2 C3 C4 master …
131 git  branch  rebase 

1
จะยกเลิก rebase แบบโต้ตอบได้อย่างไรหาก --abort ไม่ทำงาน
ฉันตกอยู่ในความสับสนผ่าน rebase แบบโต้ตอบและตอนนี้ฉันต้องการยกเลิก (เช่นย้อนกลับไปก่อนที่ฉันจะถูกทิ้งเข้าสู่โหมด rebase แบบโต้ตอบในกรณีของฉันผ่านgit pull --rebase) วิธีการทำเช่นนี้ดูเหมือนจะผ่านgit rebase --abortแต่วิธีนี้ใช้ไม่ได้: $ git rebase --abort error: Ref refs/heads/master is at 55b388c141b1485b1acd9e050dbeb0eb90ef2ee7 but expected b918ac16a33881ce00799bea63d9c23bf7022d67 fatal: Cannot lock the ref 'refs/heads/master'. Could not move back to refs/heads/master ฉันจะออกจากโหมด rebase แบบโต้ตอบและล้างข้อมูลอ้างอิงทั้งหมดได้อย่างไร ( git reset --hardประสบความสำเร็จ แต่ไม่ทำให้ฉันออกจากโหมด rebase)
127 git  exit  rebase  abort  quit 

4
วิธีข้ามป๊อปอัป“ Loose Object” เมื่อเรียกใช้ 'git gui'
เมื่อฉันเรียกใช้ 'git gui' ฉันจะได้รับป๊อปอัปที่ระบุว่า ปัจจุบันที่เก็บนี้มีวัตถุหลวม ๆ ประมาณ 1,500 ชิ้น จากนั้นแนะนำให้บีบอัดฐานข้อมูล ฉันเคยทำสิ่งนี้มาก่อนและมันจะลดวัตถุที่หลวมเหลือประมาณ 250 แต่นั่นไม่ได้ระงับป๊อปอัป การบีบอัดอีกครั้งไม่ได้เปลี่ยนจำนวนของวัตถุที่หลวม เวิร์กโฟลว์ปัจจุบันของเราต้องการการใช้ 'rebase' อย่างมากในขณะที่เรากำลังเปลี่ยนจาก Perforce และ Perforce ยังคงเป็น SCM ที่ยอมรับได้ เมื่อ Git เป็น SCM ที่ยอมรับได้แล้วเราจะทำการผสานอย่างสม่ำเสมอและปัญหาของวัตถุที่หลวมควรได้รับการบรรเทาลงอย่างมาก ในเวลานั้นฉันอยากจะให้ป๊อปอัป 'ประโยชน์' นี้หายไป

6
Git rebase: ความขัดแย้งยังคงปิดกั้นความคืบหน้า
ฉันมีสาขาคอมไพล์ (เรียกว่า v4) ซึ่งสร้างจากมาสเตอร์เมื่อวานนี้ มีการเปลี่ยนแปลงหลักสองสามอย่างที่ฉันต้องการเข้าสู่ v4 ดังนั้นใน v4 ฉันพยายามทำ rebase จาก master และไฟล์หนึ่งก็ทำให้สิ่งต่าง ๆ เกิดขึ้น: ไฟล์ข้อความบรรทัดเดียวที่มีหมายเลขเวอร์ชัน ไฟล์นี้app/views/common/version.txtซึ่งก่อนทำการ rebasing จะมีข้อความนี้: v1.4-alpha-02 นี่คือสิ่งที่ฉันกำลังทำ: > git rebase master First, rewinding head to replay your work on top of it... Applying: new version, new branch error: patch failed: app/views/common/version.txt:1 error: app/views/common/version.txt: patch does not …
120 git  rebase 


5
สร้างคอมมิต Git เดียวอีกครั้ง
มีวิธีในการปรับฐานคอมมิตเดียวจากสาขาไปยังสาขาอื่นหรือไม่? ฉันมีโครงสร้างสาขานี้: -- -- -- -- -- (Master) \ -- -- -- -- -- XX (Feature-branch) สิ่งที่ฉันต้องการทำก็คือการตั้งค่าคอมมิตสุดท้ายของการกระทำครั้งสุดท้ายFeature-branchไปยังมาสเตอร์และการย้อนกลับFeature-branchหนึ่งคอมมิต -- -- -- -- -- XX (Master) \ -- -- -- -- -- (Feature-branch) ฉันจะทำอย่างไร?
116 git  rebase 

9
Git rebase - ยังคงบ่นต่อไปแม้ว่าข้อขัดแย้งในการผสานทั้งหมดจะได้รับการแก้ไขแล้วก็ตาม
ฉันกำลังประสบปัญหาที่ไม่แน่ใจว่าจะแก้ไขอย่างไร ฉันทำการต่อต้านอาจารย์จากสาขาของฉัน: git rebase master และได้รับข้อผิดพลาดต่อไปนี้ First, rewinding head to replay your work on top of it... Applying: checkstyled. Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merging AssetsLoader.java CONFLICT (content): Merge conflict in AssetsLoader.java Failed to merge in the changes. Patch …
115 git  rebase 


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