目标
我希望我的本地 master
与 origin/master
匹配,因为它们具有相同的代码。
背景
我对 git
并不陌生,但我是 Pull Requests 的新手,并且是在开发团队中工作的新手。
我们有 2 个主要分支:master
和 pre
。我们使用 Jira 创建与功能或事件相关联的新分支。
我们的git流程如下:
pre
打开一个分支(使用 Jira)pre
的拉取请求(已审核)master
(已审核)。我们正在 pre
中实施一些测试阶段,但现在是一个空白步骤。因此,一旦您的新 PR 获得批准,从 new-branch
到 pre
,并且无需进一步审核从 pre
到 master
。我昨天做了什么
因此,我 git checkout feature-branch
在本地环境中进行了一些修改,git commit
和 git 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
合并到 pre
到 master
。我应该吗?
这里发生了什么,我该如何解决?
PS:我阅读了很多答案,但大多数 Q/A 都与在本地分支上工作有关,而不是将代码推送到远程存储库,这会引发相同的消息。
答案 0 :(得分:1)
Git fetch
是这里需要做的来更新 refs 。
来自 git fetch 文档:
<块引用>从一个或多个获取分支和/或标签(统称为“引用”) 其他存储库,以及完成其所需的对象 历史。远程跟踪分支更新(见描述 以下是控制这种行为的方法)。
基本上这意味着 git
将从 remote
存储库收集有关提交的所有元数据并将其保存在您的本地存储库中,而无需修改任何文件。