【问题标题】:Local Commits after merging合并后的本地提交
【发布时间】:2019-08-21 19:37:16
【问题描述】:

我正在开发一个功能分支(我们称之为 DEV-1234),尚未进行任何更改,休息几天后恢复工作,当然开发分支中有大量更改,我想合并到我的功能分支,以便开始使用最新版本的代码。

所以,我这样做了:

git checkout develop
git pull 
git checkout feature/DEV-1234
git merge develop

现在,当我检查那个分支上的 git 状态时,我得到了这个:

$ git status
On branch feature/DEV-1234
Your branch is ahead of 'origin/feature/DEV-1234' by 503 commits.
(use "git push" to publish your local commits)

虽然我没有任何本地提交。还是该合并算作本地提交?如果我按照它的建议在这个分支中创建git push,实际上会发生什么?

【问题讨论】:

  • 提示:pull 不是 fetch。
  • @matt 在看到该消息后,我实际上尝试在两个分支上获取,但情况仍然相同。我的开发与 origin/develop 是最新的。

标签: git git-merge git-push git-pull feature-branch


【解决方案1】:

如果您现在推送您的分支,您将更新分支的远程版本,该分支当前拥有 refbefore 与最新提交合并。

这不是必需的,不过,您不妨先处理它,并仅在您认为它已为拉取请求准备好时推送。

初始状态:

A---B <<< develop, feature-branch, origin/feature-branch
     \
      C--(snip 510 commis)--D <<< origin/develop

你拉开发后:

A---B <<< feature-branch, origin/feature-branch
     \
      C--(snip 510 commis)--D <<< develop, origin/develop

合并后into feature-branch

      origin/feature-branch
     /
A---B-------------------------E <<< feature-branch
     \                       /
      C--(snip 510 commis)--D <<< develop, origin/develop

最后当你推送时:

A---B-------------------------E <<< feature-branch, origin/feature-branch
     \                       /
      C--(snip 510 commis)--D <<< develop, origin/develop

【讨论】:

  • 是的,所以基本上那个“合并”提交中包含了提交数量,它只是显示为“合并开发到功能/...”,包括存储库中的大量更改?
  • 是的,在某种程度上。它们并没有真正“包含”在该合并中,但由于 E 使那长长的提交列表可以访问,这是一个足够好的比喻。
猜你喜欢
  • 1970-01-01
  • 2022-08-18
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
相关资源
最近更新 更多