拉取请求后,“您的分支领先于'origin/master' N 次提交”

时间:2021-02-25 09:46:12

标签: git jira pull-request

目标

我希望我的本地 masterorigin/master 匹配,因为它们具有相同的代码。

背景

我对 git 并不陌生,但我是 Pull Requests 的新手,并且是在开发团队中工作的新手。

我们有 2 个主要分支:masterpre。我们使用 Jira 创建与功能或事件相关联的新分支。

我们的git流程如下:

  1. pre 打开一个分支(使用 Jira)
  2. 代码进入分支
  3. 创建合并回 pre 的拉取请求(已审核)
  4. 再次将 PR 合并到 master(已审核)。我们正在 pre 中实施一些测试阶段,但现在是一个空白步骤。因此,一旦您的新 PR 获得批准,从 new-branchpre,并且无需进一步审核从 premaster

我昨天做了什么

因此,我 git checkout feature-branch 在本地环境中进行了一些修改,git commitgit push origin feature-branch。代码已经在远程仓库中,在 Github 上。

我去了 Github 并创建了一个 PR(来自 Github 网站),指定了一个审阅者。审稿人批准了它,所以我去了 Github 并单击了合并按钮。由于上述原因,重复了两次 branch >> pre >> master

今天的问题

我想从事另一项工作。当我 master 时,我从本地环境中的 git pull origin master 分支收到此消息:

From https://github.com/<user>/<reponame>
 * branch            master     -> FETCH_HEAD
Already up-to-date.

然后 git status 输出:

# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#   (use "git push" to publish your local commits)
#
nothing to commit, working directory clean

我第一次拉取时,修改是从 origin/master 拉取的,但现在出现此消息。

这个repo这几天只有我自己用过,所以代码完全一样。

问题

我没有在本地将代码从 feature-branch 合并到 premaster。我应该吗?

这里发生了什么,我该如何解决?

PS:我阅读了很多答案,但大多数 Q/A 都与在本地分支上工作有关,而不是将代码推送到远程存储库,这会引发相同的消息。

1 个答案:

答案 0 :(得分:1)

Git fetch 是这里需要做的来更新 refs 。

来自 git fetch 文档:

<块引用>

从一个或多个获取分支和/或标签(统称为“引用”) 其他存储库,以及完成其所需的对象 历史。远程跟踪分支更新(见描述 以下是控制这种行为的方法)。

基本上这意味着 git 将从 remote 存储库收集有关提交的所有元数据并将其保存在您的本地存储库中,而无需修改任何文件。