[英]`git rebase` not updating branch?
我有這個:
master
| foo
| |
v v bar
A---B---C---D |
\ v
\---E---F---G
我要這個:
master
| foo
| |
v v bar
A---B---C---D |
\ v
\---E---F---G
所以我認為我需要做:
git checkout bar
git rebase master
但是Git認為:
Current branch bar is up-to-date.
並保留一切。
我需要運行什么才能使Git做到我想要的?
提交D
包含在分支bar
。 一種選擇是進行交互式變基,並從分支bar
刪除提交D
git checkout bar
git rebase -i master
D
只要您在提交D
(或包含提交D
)上具有標簽或分支(例如foo
),就不應丟失它。 還請記住,如果D
之后的提交取決於D
更改,那么您將發生沖突。
的版本git rebase
,你正在做,需要所有的分支上提交的bar
這是不是已經對master
,並將其寫入到master
。 這是D
到F
提交,這不是您想要的,因為它不會跳過D
提交。 一種解決方案是使用--onto
標志:
git checkout bar
git rebase --onto master foo
此版本的rebase將把所有提交放在分支bar
而不是在分支foo
然后將它們重寫到master
。 這將准確顯示您想要的bar
的歷史記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.