直到现在,我经常这样做:'git pull p4merge master‘,如果有需要合并的东西,我会得到一个错误,然后我可以使用'git mergetool’(加载p4merge)来合并文件。
现在它只是写快进和自动合并我的文件:
* branch master -> FETCH_HEAD
Updating 508eb2e..b93d761
Fast-forward
protected/controllers/AlbumController.php | 14 +-
protected/controllers/AlbumController.php.orig | 103 +++
etc.问题是,我没有做任何特别的事情来允许自动执行。为什么会发生这种情况?我如何禁用它?
发布于 2012-05-29 05:24:34
你看起来很困惑。"Fast-forward“表示它没有合并。这意味着你没有本地提交,所以它只是将你的分支指针转发到你拉出的东西的尖端。
发布于 2012-05-29 05:26:22
"Fast-forward“意味着您没有在本地提交任何不在远程存储库上的提交。
这意味着没有要合并的内容;您的本地已检出分支刚刚更新。
diff-stat只是用来告诉您自上次拉入后遥控器中发生了哪些更改。
发布于 2012-05-29 05:50:02
你没有什么可以合并的。因此,它只是更新您的分支以指向您要合并的分支所指向的位置。现在将更新您的工作目录,以表示您的分支所指向的新位置。这就是“覆盖”你的文件的原因。为什么您希望工作目录的文件在合并到其他更改后不会被覆盖(不管它是不是快进情况)。
顺便说一句,如果你想保留你的分支点,你可以通过在你的merge命令中添加--no-ff选项来强制git创建一个新的提交,即使它由于快进而不是必需的。
我也推荐你读一读关于分支和合并的程序网/书。这是行为是设计出来的。
https://stackoverflow.com/questions/10790521
复制相似问题