在主分支上更新新的提交分支?
我分支了分支A并创建了B.现在,A已经被其他人更新了,并且我想将这些提交交给我的B叉,这样我就可以确保我在那里做的东西仍然适用于新的A内容。
我怎样才能做到这一点? Git的术语(拉,取,合并等)非常不直观,至少在(
我会建议(如果没有人已经从B中撤出):
你有什么是分支A
在上游回购中进行了新的演变和可能的承诺:
a--a--a (origin/A)
/
a--a--a A
b--b--b (B, local branch)
首先确保A
是最新的上游回购内容: origin/A
:
git checkout A
git pull
这会给你:
a--a--a--a--a--a (A, origin/A)
b--b--b (B, local branch)
那么你就变基上做本地修改B
之上A
(我想在这里说A
具有上游分支,这意味着它跟踪origin/A
,您可以检查git branch -avvv
)
git checkout B
git rebase A
它给你:
a--a--a--a--a--a (A, origin/A)
b'--b'--b' (B, local branch)
需要注意的是历史的变迁B
,因此,如果B
已经推,你将不得不push --force origin B
,这可能是危险的,如果其他人已经开始工作B
。
见(更多关于转化技巧):
git rebase
和git push
:非快进,为什么要用?” 注意:“fork一个分支”不是推荐的表达式,因为fork更常用于引用服务器端的克隆repo:请参阅“Git fork是git clone?”。
相反,你会说:“我分支A
并创建B
”:操作是“分支”(而不是“分叉”)。
上一篇: Update a fork with new commits on its master branch?
下一篇: git fetch changes from ahead upstream and merge them into ahead origin