我正在寻求以下的解释:
我的git存储库已存放。
我有两个分支:掌握,发展。
今天我想发布一个新版本,因此我从开发分支创建了 release-1.0 分支。
然后我做了:
git checkout release-1.0
更新了poms以发布版本
git commit -m"为下一个版本准备poms"
git push
git merge master //确保一切都是同步的
接下来使用stash我创建了一个拉取请求。我的伙伴接受了它,一切都掌握了,提交出现了:
9c08cd5fc435 XXX版本中的合并拉取请求#1从版本1.0到掌握
最后要做的是用这些更改更新develop分支 所以我做了:
git checkout develop
git merge master
git status
//在这里,我看到所有已经改变的poms
git commit -m"合并发布更改以开发"
git push
这里发生了魔法 - git没有记录最后一次提交。
当我列出开发分支的提交时,我可以看到git以某种方式嵌入了发布分支的最后一次提交,即"准备poms for下一个版本" ,但没有像"合并后发布更改以开发"
有谁能解释我这种奇怪的情况?
答案 0 :(得分:0)
执行时没有提交更改...
git commit -m "Merge back release changes to develop"
如果您真的希望使用此消息进行(空)提交,则可以执行
git commit -m "Merge back release changes to develop" --allow-empty
正在发生的事情如下:您的主人只是您的开发分支之前的一些提交。如果将master合并到develop中,那么你实际上正在做的是使指针“develop”指向另一个提交(与master相同)而不进行实际的新提交。
Git告诉你如下:
Fast-forward