美好的一天。
我正在使用git简单的svn-like方式,每天晚上做git pull并且非常满意。但令人讨厌的是,在每次拉动中我都会在git日志中获得关于合并的记录。为了摆脱那种合并我试图开始使用
git pull --rebase origin master
而不是简单的拉,但该命令给了我很多冲突错误,而我根本没有改变任何东西,只有我想要的是与远程仓库同步,这似乎是一项痛苦的任务。
我只是想知道这些冲突来自何处以及合并是否有效。
以下是错误消息的外观: 警告:压制56个空格错误 警告:61行添加空格错误。 回到修补基地和3路合并...... 自动合并promo.pl CONFLICT(内容):合并promo.pl中的冲突
我还玩了以下没有帮助的法术:
git config core.whitespace nowarn
git config core.autocrlf false
似乎git因某种原因不喜欢我的空白并且摧毁它,甚至不要求任何许可,如何禁止这个?
答案 0 :(得分:1)
问题可能是您的提交不能干净地应用于远程仓库的当前状态。这揭示了git pull merge和git pull rebase之间的本质区别:
merge从repo中提取最新的提交并将其应用于提交之上。 rebase拉出了repo的最新状态,并将你的提交应用到它上面。
最可能的问题是,您的提交,干净地应用于您开始使用的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 。