【问题标题】:How to merge and push a local branch in git如何在 git 中合并和推送本地分支
【发布时间】:2019-07-17 10:45:42
【问题描述】:
您好,我在这种情况下遇到困难:
我有两个本地分支:develop 和 branch1。在远程我只有 develop 分支。
我遵循的步骤:
- 我已从本地开发中提取远程开发。
- 我创建了新分支 branch1 并在其中添加了一些代码。
我需要在远程创建并推送 branch1 的所有修改。
完成后,我不得不去 github 并从我的“branch1”远程分支向开发远程分支发出拉取请求。
如果发生冲突,我需要执行哪些步骤?
我尝试阅读很多内容,但主要部分是在本地合并并推动开发(或主),但我的情况不同,因为我需要推动远程 branch1 并从那里要求审查来自某人的代码并提出拉取请求。我需要避免冲突。
【问题讨论】:
标签:
git
github
git-merge
git-push
git-pull
【解决方案1】:
如果我理解你的问题:
- 您正在遵循标准的拉取请求工作流程,该工作流程将功能分支(“branch1”)合并到一个长期存在的“开发”分支中。
- 有时,作为同行评审过程的结果,您最终会遇到合并冲突。你想避免这种情况。
解决方案:
避免合并冲突:
在这样的工作流程(或任何工作流程中,真的)中,没有办法“避免”合并冲突。您能做的最好的事情就是提醒同行评审员,除非快速评审和合并,否则可能会发生耗时的合并冲突。
解决合并冲突:
大多数时候,解决此工作流中的合并冲突很容易:
git pull origin develop
git checkout branch1
git rebase develop
您确实需要知道如何解决合并冲突,例如ref.
git push origin branch1 --force
(需要强制,因为变基操作会重写历史记录。)