Git rebase ล้มเหลว 'การเปลี่ยนแปลงในเครื่องของคุณในไฟล์ต่อไปนี้จะถูกเขียนทับโดยการผสาน' ไม่มีการเปลี่ยนแปลงในท้องถิ่น?


104

นี่คือการถอดเสียงของฉันจากการพยายามรวมสาขา bugfix เข้ากับสาขาหลักของฉันเพื่อเตรียมพร้อมที่จะผลักดันมันต้นน้ำ มีการเปลี่ยนแปลงต้นน้ำบางอย่างที่ดึงมาเป็นหลักตั้งแต่สร้างสาขาแก้ไขข้อบกพร่องและตอนนี้ปฏิเสธที่จะตั้งฐานใหม่

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

ฉันใช้ OS X 10.6.6 และ git 1.7.4

.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git rebase bug586-test master-test
First, rewinding head to replay your work on top of it...
Applying: - comiitting code related to api permissions
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
error: Your local changes to the following files would be overwritten by merge:
    inc/data.inc
    templates/apipermissions_tpl.inc
    templates/currencies_tpl.inc
Please, commit your changes or stash them before you can merge.
Aborting
Failed to merge in the changes.
Patch failed at 0001 - comiitting code related to api permissions

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git status
# Not currently on any branch.
nothing to commit (working directory clean)



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git rebase --abort
HEAD is now at 5efccf1 - comiitting code related to api permissions



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git log -n10 --oneline
5efccf1 - comiitting code related to api permissions
a8a5ee4 Style changes for IE
cfca618 Style changes for IE
8a69de6 Style changes for IE
8946585 - comiitting code related to api permissions - fixed an html error in the currencies template
5fba0a9 Merges the 1.11b branch bugfixes and changes into trunk
ef57049 Andrew Commiting on Blakes behalf on changes he made to transfers; Also an Indue GW balance fix; debitcarupload fix for LSN
69e4313 Fixed an issue with Support From email
9058fb6 Sets the svn property svn:eol-style to LF, to enforce unix style line endings
240839e Fixes up a lot of the whitespace issues.



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git checkout bug586-test 
Switched to branch 'bug586-test'



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git log -n10 --oneline  
b7b1f8a Resolves #586, Postback on deposit
5fba0a9 Merges the 1.11b branch bugfixes and changes into trunk
ef57049 Andrew Commiting on Blakes behalf on changes he made to transfers; Also an Indue GW balance fix; debitcarupload fix for LSN
69e4313 Fixed an issue with Support From email
9058fb6 Sets the svn property svn:eol-style to LF, to enforce unix style line endings
240839e Fixes up a lot of the whitespace issues.
cf27b6f - bug that came up with transferring. The transfer page had a hidden field called to, which was taking precedence over cards and usercard which would throw the system out a bit
7c21a81 Fixes #603, new add transaction form, journalled.
01e6292 Removes a pile of resource forks
880c5bc - bug that came up with transferring. The transfer page had a hidden field called to, which was taking precedence over cards and usercard which would throw the system out a bit



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git rebase master-test bug586-test
First, rewinding head to replay your work on top of it...
Applying: Resolves #586, Postback on deposit
Using index info to reconstruct a base tree...
<stdin>:52: trailing whitespace.
                'name' => 'Invoice Transfer Out', 
<stdin>:175: trailing whitespace.

warning: 2 lines add whitespace errors.
Falling back to patching base and 3-way merge...
error: Your local changes to the following files would be overwritten by merge:
    templates/deposit_tpl.inc
Please, commit your changes or stash them before you can merge.
Aborting
Failed to merge in the changes.
Patch failed at 0001 Resolves #586, Postback on deposit

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".



.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git rebase --abort
HEAD is now at b7b1f8a Resolves #586, Postback on deposit

คุณควรโพสต์เนื้อหาของสถานะคอมไพล์เนื้อหาของ gitignore ของคุณและ ls ในไดเร็กทอรีที่เป็นปัญหาแยกกันเพื่อให้อ่านได้ชัดเจนยิ่งขึ้น นั่นอาจช่วยได้บ้างอย่างน้อย
Kzqai

คุณมีการตั้งค่า crlf หรืออะไรไหม? Rebase ไม่ควรสร้างแผนผังงานสกปรกแบบนั้น และสิ่งgit statusที่อาจเป็นประโยชน์คือเมื่อ rebase ล้มเหลว มันไม่ยอมวิ่งไปกับต้นไม้สกปรก เรารู้ว่ามันสะอาดก่อนที่คุณจะเริ่ม มันเป็นสถานะเมื่อมีมีการปรับเปลี่ยนในท้องถิ่นที่เป็นสาเหตุของปัญหา
Cascabel

คุณแน่ใจเกี่ยวกับลำดับของพารามิเตอร์ในการคอมไพล์ rebase หรือไม่? การอ้างอิงครั้งแรกคือการปรับฐานใหม่ในขณะที่การอ้างอิงที่สองที่เป็นทางเลือกคือสิ่งที่จะถูกตรวจสอบก่อน บางทีคุณควรสลับมัน
Laurent Pireyn

คำตอบ:


191

นี่เป็นคำตอบเดียวกับอีกคำถามหนึ่งของฉันเกี่ยวกับปัญหาในการคอมไพล์

ฉันใช้ Mac และการเปลี่ยนแปลงการกำหนดค่าที่คลุมเครือนี้ดูเหมือนจะแก้ไขปัญหาทั้งหมดของฉันเกี่ยวกับการเปลี่ยนแปลงที่ไม่มีขั้นตอนเมื่อไม่มีเลย

git config --global core.trustctime false

ฉันคิดว่ามันจะเกี่ยวข้องกับความแตกต่างระหว่างเวลาไฟล์ windows เวลาไฟล์ linux และเวลาไฟล์ mac ใครจะรู้อย่าลังเลที่จะแสดงความคิดเห็นถ้าคุณทำ

อัปเดต: บล็อกโพสต์นี้อธิบายถึงสิ่งที่เกิดขึ้นประเภทต่างๆ


1
ขอบคุณ! ฉันไม่เคยคิดเรื่องนี้มาก่อน
Christopher Pickslay

1
คริสเหมือนกัน - ฉันอยากรู้แน่ ๆ ว่าอะไรทำให้สิ่งนี้เกิดขึ้นกับฉัน
karlbecker_com

น่าเสียดายที่สิ่งนี้ไม่ได้ผลสำหรับฉัน การออกจาก Xcode - แม้ว่าไฟล์ที่ Git บ่นจะไม่ได้อยู่ในโครงการแต่ก็ช่วยได้
ผิดปกติ

1
ฉันใช้ SuSE โดยใช้ git-svn เพื่อผูกมัดกับเซิร์ฟเวอร์ SuSE svn ในเขตเวลาอื่น ไม่ว่าจะอธิบายอย่างไรสิ่งนี้ก็แก้ปัญหาให้ฉันได้เช่นกัน
Jonathan Hartley

5
นี่คือคำอธิบายสิ่งที่อาจเป็นสาเหตุgit-tower.com/blog/make-git-rebase-safe-on-osx/# ! ดูเหมือนว่าจะเกี่ยวข้องกับกระบวนการพื้นหลังที่แก้ไข
schmunk

48

เกี่ยวกับคำตอบของ Joshua Hogendorn: สำหรับฉันแล้วดูเหมือนว่าการเปิด Xcode ทิ้งไว้ในขณะที่ทำงานกับที่เก็บด้วยคอมไพล์จะนำไปสู่ปัญหาเหล่านี้ มันยังนำไปสู่สถานการณ์ที่คอมไพล์กระทำบางสิ่งที่ฉันคิดว่าซ่อนไว้ (และยังคงมีอยู่ในภายหลัง) แต่ Xcode เพิ่งเขียนไปยังระบบไฟล์ในระหว่างการรีเบส

ดังนั้น: ปิดโปรเจ็กต์ Xcode ของคุณก่อนที่คุณจะทำงานกับ repo ด้วยคอมไพล์หากคุณต้องการปลอดภัยจากนั้นคุณอาจไม่ต้องการการตั้งค่า core.trustctime false


บางทีคุณอาจมีการตั้งค่า "บันทึกไฟล์ทุก N นาทีโดยอัตโนมัติ" ใน IDE ของคุณ อย่าทำอย่างนั้น.
Mikko Rantalainen

4
ฉันพยายาม ... และได้ผลสำหรับฉัน! ปิด xcode ก่อนทำการ rebase เสียเวลาไปมากมายโดยเปล่าประโยชน์ ขอบคุณ!
Nicolas Lauquin

ฉันมีข้อผิดพลาดเดียวกันกับข้างต้นแม้ว่าฉันจะใช้ Aptana Studio 3 เมื่อฉันออกจาก Aptana rebase ก็ใช้งานได้ ฉันได้ปิดการรวมคอมไพล์ของ Aptana เมื่อสองสามวันก่อน ทั้งที่มันไม่ได้ปิดจริงๆหรือฉันควรจะรีสตาร์ท Aptana
Bill Hoag

3
ประสบปัญหาเดียวกันเมื่อเปิดโครงการใน Visual Studio 2013 การปิดโครงการแก้ไขปัญหา
Mohammad Dehghan

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