Aam*_*wan 3 git github git-bash github-enterprise
我想将来自我的功能分支的 GitHub 拉取请求合并到开发中。以下是来自 GitHub 的通过命令行执行此操作的说明:
第1步:
git fetch origin
git checkout -b feature-branch origin/feature-branch
git merge development
Run Code Online (Sandbox Code Playgroud)
第2步:
git checkout development
git merge --no-ff feature-branch
git push origin development
Run Code Online (Sandbox Code Playgroud)
为什么git merge development需要?
这里的问题是,从您最初从 中创建功能分支开始development,您和其他人可能已经development分别提交了功能和分支。一个图表在这里会有所帮助:
development: -- A -- B -- C -- D
\
feature: E -- F
Run Code Online (Sandbox Code Playgroud)
在这里,你从支development的B承诺,自那以后你做了一个F承诺,和其他人(甚至你也一样)已经取得C并D提交到远程development分支。您的两个步骤中的第一个是合并development到您的功能分支中:
development: -- A -- B -- C -- D
\ \
feature: E -- F -- M1
Run Code Online (Sandbox Code Playgroud)
现在你有一个M1合并本地提交,和你的分支应该是完全更新与任何远程进来的C和D提交。现在您可以将您的功能分支合并到 中development,剩下:
development: -- A -- B -- C -- D -- M2
\ \ /
feature: E -- F -- M1
Run Code Online (Sandbox Code Playgroud)
至于为什么需要这两个步骤,第一步确保您的本地功能分支与development您最初创建分支以来远程上发生的任何事情保持同步。至少在某些时候,不执行此步骤将意味着合并最终会出现一些冲突。GitHub 检测到这一点,如果你不是最新的,通常会拒绝合并。第二步可能是您所期望的,只是将您的功能分支实际合并到development.
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |