Git合并提交丢失

时间:2015-09-28 12:02:13

标签: git

我正在寻求以下的解释:

我的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下一个版本" ,但没有像"合并后发布更改以开发"

有谁能解释我这种奇怪的情况?

1 个答案:

答案 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