我做了以下步骤:
git checkout master
git pull origin master
git merge branchB它做了以下更新:
git合并queryclassintegration
Updating f2318bc..c9b732a
Fast-forward
build/test.sh | 5 -
unit-test/test | 1110 ------------------------
include/io.hpp | 15 ++
3 files changed, 15 insertions(+), 1115 deletions(-)
delete mode 100755 build/test.sh
delete mode 100644 unit-test/test
create mode 100644 include/io.hpp当我这么做的时候
git push origin master显示了这一点,我认为它注册了合并:
Total 0 (delta 0), reused 0 (delta 0)
To https://myrposoti@bitbucket.org/xyz/bproject.git
d8818bc..m9b231a master -> master但是,我检查了回购,合并还没有注册(没有合并的迹象)。如果我再推一次
git push origin master上面写着:
Everything up-to-date发布于 2015-12-22 12:23:06
你会注意到合并中的短语“快进”。因为您所合并的分支所指向的提交是您正在进行的提交的直接上游,所以Git只是将指针向前移动。换句话说,当您试图将一个提交与一个通过跟踪第一个提交的历史来达到的提交合并时,Git通过将指针向前移动来简化事情,因为没有不同的工作要合并--这被称为“快速转发”。
如果不希望快速转发合并并创建合并提交,则可以使用--no-ff选项。
$ git merge --no-ff branch
如果不希望合并提交,则可以使用快速转发选项--ff-only。如果Git不能快速合并分支,它将出错。然后你可以决定你想做什么。
git merge --ff-only branch
在以下问题中有更多解释快速前进的答案:?:
https://stackoverflow.com/questions/34388254
复制相似问题