84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
新建了一個分支uop-151,是基於uop-387的,但是我想基於主分支建的,但是現在已經開發並提交了,但是我只想提交uop-151的東西,不想提交uop- 387的,如何處理?
#我只想提交最上面那個commit,下面的都不想提交。主要的是我已經推送到遠端分支。
跟是否推送到遠端無關的。就算 push 了你也可以 push -f 修改啊。 。
push
push -f
這種情況直接用 git rebase --onto 就可以了。文件:https://git-scm.com/docs/git-...
git rebase --onto
你的情況可以抽象化:A - B - C - D - E - F - G。其中 A 是最初的起始點(master),B C D E F 是來自 uop-387 的,而且你不打算要。 G 是你自己的 commit,要保留。
A - B - C - D - E - F - G
A
B C D E F
uop-387
G
先執行 git checkout uop-151,確保你在要操作的分支上。
git checkout uop-151
然後 git rebase --onto uop-151~6 uop-151~1 uop-151
git rebase --onto uop-151~6 uop-151~1 uop-151
結果: A - G'
A - G'
雷雷
git有cherry-pick的指令,不知道是不是滿足你的需求。用法自行百度下吧
如果你只是在本地做了操作,還沒推送到伺服器上游,可以使用git rebase將uop-151 rebase到master上。
git rebase
uop-151
master
官方Git Rebase文件(需翻牆)https://git-scm.com/docs/git-...
其他參考文件http://blog.csdn.net/hudashi/...
將你開發提交的commit id, cherry-pic到master即可。
如果還沒有 push,可以在 uop-387 分支進行 git reset xxxx 操作。其中 xxxx 是 uop-151 分支最新的 hash。
git reset xxxx
然後切換點 master 分支,重新基於 master 建造分支。別忘了使用 --merge 參數。
--merge
如果你對 git 比較熟悉,可以使用 cherry-pic 指令。
checkout回主分支後,再建立一個新分支就行了。
跟是否推送到遠端無關的。就算
push
了你也可以push -f
修改啊。 。這種情況直接用
git rebase --onto
就可以了。文件:https://git-scm.com/docs/git-...你的情況可以抽象化:
A - B - C - D - E - F - G
。其中A
是最初的起始點(master),B C D E F
是來自uop-387
的,而且你不打算要。G
是你自己的 commit,要保留。先執行
git checkout uop-151
,確保你在要操作的分支上。然後
git rebase --onto uop-151~6 uop-151~1 uop-151
結果:
A - G'
雷雷
git有cherry-pick的指令,不知道是不是滿足你的需求。用法自行百度下吧
如果你只是在本地做了操作,還沒推送到伺服器上游,可以使用
git rebase
將uop-151
rebase到master
上。官方Git Rebase文件(需翻牆)
https://git-scm.com/docs/git-...
其他參考文件
http://blog.csdn.net/hudashi/...
將你開發提交的commit id, cherry-pic到master即可。
如果還沒有 push,可以在 uop-387 分支進行
git reset xxxx
操作。其中 xxxx 是 uop-151 分支最新的 hash。然後切換點 master 分支,重新基於 master 建造分支。別忘了使用
--merge
參數。如果你對 git 比較熟悉,可以使用 cherry-pic 指令。
checkout回主分支後,再建立一個新分支就行了。