Git rebase失败,'您对本地文件的更改将被合并覆盖'。 没有本地变化?

这里是我的成绩单试图合并我的错误修复分支到我的主分支准备把它推向上游。 自从bugfix分支被创build以来,已经有一些上游的变化被引入到master中,并且现在拒绝了rebase。

它引发错误的文件在打开时不会被区分。 没有文件被添加,删除或重命名。 没有什么是不容忽视的,没有任何东西没有被跟踪或者上演或者未被开始 我完全被难倒为什么rebase是失败的。

我在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 

这是我的另一个问题重新解决问题的答案。

我在一个mac上,这个晦涩的configuration更改似乎解决了所有我的困境,当没有任何暂时的变化。

 git config --global core.trustctime false 

我认为这是与Windows文件时间,Linux文件时间和Mac文件时间之间的差异。 谁知道,如果你愿意,可以随时发表评论。

更新: 这个博客文章解释了发生了什么,有点。

关于Joshua Hogendorn的回答:在我看来,在使用git处理仓库时将Xcode打开会导致这些问题。 它甚至导致了git犯了一些我认为已经隐藏起来(而且之后还有)的情况,但是Xcode在rebase期间刚刚写入了文件系统。

所以:如果你想要安全的话,在你用git编译repo之前closures你的Xcode项目,然后你可能不需要core.trustctime false设置。