功能分支 git master 合并后提交
feature branch got master commits after merge
所以我有一个 master
分支和 feature/123-branch
。
我在 feature/123-branch
和 git checkout feature/123-branch
上,发现它在 master
上已经过时了,所以我做了
git merge master
保持最新。
在 merge
之前,feature/123-branch
刚刚 2 commits
开发了该功能,但是当我这样做时
git push origin feature/123-branch
由于合并(我认为?),提交数量跃升至 40
。
我尝试了 rebase --onto master HEAD~1 feature/123-branch
,但没有解决问题。
如何让 feature/123-branch
上的 2 commits
保持最新状态?
如果我没理解错的话,你有这样的事情:
M0-M1-M2-M3-M4-...-MX (master)
\
F0-F1 (feature branch)
你想 "keep up-to-date" 像这样:
M0-M1-M2-M3-M4-...-MX (master)
\
F0'-F1' (feature branch)
提交 F0'
和 F1'
是提交 F0
和 F1
(来自您的功能分支的提交),但略有改动以便更改发生在之后master
的最后一次提交
如果那是你想做的,那么你打算做的不是合并 master
和你的功能分支,而是将你的功能分支变基到 master。
在这种情况下,方法如下:
git checkout feature/123-branch
以确保您在您的功能分支中
git log
列出该分支上的最新提交,并找到对应于 F1 的散列
git reset --hard the_hash_from_F1
回滚合并
git rebase master
做你最初打算做的事 "update" 你的分支
所以我有一个 master
分支和 feature/123-branch
。
我在 feature/123-branch
和 git checkout feature/123-branch
上,发现它在 master
上已经过时了,所以我做了
git merge master
保持最新。
在 merge
之前,feature/123-branch
刚刚 2 commits
开发了该功能,但是当我这样做时
git push origin feature/123-branch
由于合并(我认为?),提交数量跃升至 40
。
我尝试了 rebase --onto master HEAD~1 feature/123-branch
,但没有解决问题。
如何让 feature/123-branch
上的 2 commits
保持最新状态?
如果我没理解错的话,你有这样的事情:
M0-M1-M2-M3-M4-...-MX (master)
\
F0-F1 (feature branch)
你想 "keep up-to-date" 像这样:
M0-M1-M2-M3-M4-...-MX (master)
\
F0'-F1' (feature branch)
提交 F0'
和 F1'
是提交 F0
和 F1
(来自您的功能分支的提交),但略有改动以便更改发生在之后master
如果那是你想做的,那么你打算做的不是合并 master
和你的功能分支,而是将你的功能分支变基到 master。
在这种情况下,方法如下:
git checkout feature/123-branch
以确保您在您的功能分支中git log
列出该分支上的最新提交,并找到对应于 F1 的散列
git reset --hard the_hash_from_F1
回滚合并git rebase master
做你最初打算做的事 "update" 你的分支