2011-03-30 44 views
2

美好的一天。git rebase冲突,同时合并工作正常

我正在用git简单svn样的方式,每天晚上做git pull,并且对它很满意。但令人讨厌的是,在每一次拉我记录git日志关于合并。为了摆脱合并我想开始使用

git pull --rebase origin master 

,而不是简单的上拉,但该命令给了我很多冲突的错误,而我只是改变了什么都没有,只有我想的是要与同步远程回购,这似乎是一个痛苦的任务来完成。

我只是想知道这些冲突是从哪里来的,而合并只是起作用。

以下是错误消息的样子: 警告:静噪56个空白错误 警告:61行添加空白错误。 回落至修补基地和3路合并... 自动合并promo.pl 冲突(含量):合并冲突promo.pl

而且我打了以下的法术这并没有帮助:

git config core.whitespace nowarn 
git config core.autocrlf false 

似乎git不喜欢我的空白由于某种原因,并摧毁它,甚至不要求任何许可,如何禁止这一点?

回答

1

问题很可能是您的提交并不完全适用于远程回购的当前状态。这揭示了git pull merge和git pull rebase之间的本质区别:

merge从回购中提取最新的提交并将它们应用于提交之上。 rebase拉取回购的最新状态并在其上应用您的提交。

最有可能的问题是,您的提交,干净地应用于您开始的HEAD,并不会干净地应用于当前的远程HEAD。

欲了解更多信息尝试Why does git pull --rebase fail when replaying existing commits?git rebase, keeping track of 'local' and 'remote'

对于空白的警告,他们是正义的,警告。虽然我会建议保持你的空白清理差异的清晰度,但据我所知,他们永远不会造成合并冲突。

P.S.如果合并提交日志烦你,请给git log --no-merges试试。

+0

谢谢你的回答,问题是我没有在这个仓库中最近的任何提交,也许这是以前的拉合并和git考虑他们莫名其妙,这所有git的东西很奇怪。 – Dfr 2011-04-04 16:42:13