git 从分支合并无效,git 使用提交合并有效,发生了什么?

git merge from branch didn't work, git merge using commit did, what happened?

我试图遵循 gitflow,所以我创建了一个名为 develop 的分支,然后创建了一个以我的功能票命名的分支,做了一些更改并提交了它们。

现在,结帐后我执行

$ git merge #611

然后我得到

Already up to date.

但是它们是不同的:

$ git branch -vv
  #611               ca944c8 refs #611 clean repo and create new user settings
* develop            ac605bd [origin/develop] Apk after sprint of November

我记下了提交号并执行了

$ git merge ca944c8 

一切都如我所料。

我做错了什么?如果我连续进行多次提交,我应该合并每个单独的提交吗?

很可能您的命令 shell 将分支名称开头的 # 解释为注释的开头,因此它执行了

git merge

默认情况下,这将从上游远程跟踪引用(可能 origin/master)合并,如果自从您上次拉取 master 后它没有移动,它会说 "already up to date"。

要解决此问题,请转义 #,如

git merge \#611

git merge '#611'

或者不要在分支名称中使用 #,这也是一种选择。