Pull Request 成功后开发分支 X 提交到 Main 分支后面
Develop branch X commits behind Main branch after successful Pull Request
我在 GitHub 上发出将 Develop 合并到 Main 的拉取请求后,我的 Develop 分支显示为在 Main 分支后面有 2 个提交。它现在建议我做一个拉取请求并将 Main 合并到 Develop 中。我是唯一一个在这个项目上工作的人,所以在这段时间里,任何分支都不会发生其他团队成员的其他提交。
回溯我的脚步:
- 在 git 我在远程 Develop 分支上做了一个
git pull
来更新我本地的 Develop 分支。
- 我使用命令行从 Develop 分支在本地创建了一个 Feature 分支 git。
- 在功能上,我进行了 3 次提交。
- 然后我检查我本地的 Develop 分支并将它与 Feature 分支合并。
- 然后我通过 git.
将 Develop(及其 3 个新提交)推送到远程 Develop
- 在 GitHub 然后我创建了一个拉取请求以将远程 Develop 与远程 Main 合并为 3 个提交。
- 主分支现在有了我的所有更改。
- GitHub 上的开发分支说它比 Main 落后 2 次提交。
我很困惑为什么会这样。我的理解是 GitHub 上的 Develop 和 Main 将在拉取请求之后同步(在代码和提交方面)。两个分支都显示相同的代码,但提交已关闭。知道我在我的过程中哪里犯了错误,我应该将请求 Main 拉入 Develop 来解决这个问题吗?这似乎是一个混乱的修复。
- On GitHub I then created a pull request to merge remote Develop with remote Main with the 3 commits.
- Main branch now has all my changes.
这里缺少一个步骤:某人(很可能是人)必须接受并执行 合并请求。他们此时做了什么?如果他们使用标有 REBASE AND MERGE 的绿色大按钮,您所看到的结果就是您所期望的。这是GitHub-specific;其他存储库托管站点的行为可能不同。
旁白:Git 分支名称是 case-sensitive。在这里使用混合大小写是不明智的;使用像 main
和 develop
这样的名称,而不是 Main
和 Develop
。 Windows 和 macOS 用户可能会不时遇到创建像 main
这样的名称的问题,而像 Main
这样的名称也存在。这里的问题是,虽然 Git 是 case-sensitive,但 Git 有时会将分支名称存储为 OS-level file,Windows 和 macOS 上的默认文件系统区分大小写 in,因此无法存储名为 main
和 Main
。 Git 对此感到困惑,然后发生了不好的事情。
我在 GitHub 上发出将 Develop 合并到 Main 的拉取请求后,我的 Develop 分支显示为在 Main 分支后面有 2 个提交。它现在建议我做一个拉取请求并将 Main 合并到 Develop 中。我是唯一一个在这个项目上工作的人,所以在这段时间里,任何分支都不会发生其他团队成员的其他提交。
回溯我的脚步:
- 在 git 我在远程 Develop 分支上做了一个
git pull
来更新我本地的 Develop 分支。 - 我使用命令行从 Develop 分支在本地创建了一个 Feature 分支 git。
- 在功能上,我进行了 3 次提交。
- 然后我检查我本地的 Develop 分支并将它与 Feature 分支合并。
- 然后我通过 git. 将 Develop(及其 3 个新提交)推送到远程 Develop
- 在 GitHub 然后我创建了一个拉取请求以将远程 Develop 与远程 Main 合并为 3 个提交。
- 主分支现在有了我的所有更改。
- GitHub 上的开发分支说它比 Main 落后 2 次提交。
我很困惑为什么会这样。我的理解是 GitHub 上的 Develop 和 Main 将在拉取请求之后同步(在代码和提交方面)。两个分支都显示相同的代码,但提交已关闭。知道我在我的过程中哪里犯了错误,我应该将请求 Main 拉入 Develop 来解决这个问题吗?这似乎是一个混乱的修复。
- On GitHub I then created a pull request to merge remote Develop with remote Main with the 3 commits.
- Main branch now has all my changes.
这里缺少一个步骤:某人(很可能是人)必须接受并执行 合并请求。他们此时做了什么?如果他们使用标有 REBASE AND MERGE 的绿色大按钮,您所看到的结果就是您所期望的。这是GitHub-specific;其他存储库托管站点的行为可能不同。
旁白:Git 分支名称是 case-sensitive。在这里使用混合大小写是不明智的;使用像 main
和 develop
这样的名称,而不是 Main
和 Develop
。 Windows 和 macOS 用户可能会不时遇到创建像 main
这样的名称的问题,而像 Main
这样的名称也存在。这里的问题是,虽然 Git 是 case-sensitive,但 Git 有时会将分支名称存储为 OS-level file,Windows 和 macOS 上的默认文件系统区分大小写 in,因此无法存储名为 main
和 Main
。 Git 对此感到困惑,然后发生了不好的事情。