本文介紹命令列中的 git rebase 命令列操作,另有姊妹篇- git 操作:rebase 詳解(android studio)官網:
rebase 當前分支和其他分支
abort rebase
初始 temp 分支節點狀態:
* c6d18af - (head -> temp) d (2 分鐘前)
* d585e8c - c (3 分鐘前)
* c48536f - b (4 分鐘前)
* afa3558 - a (5 分鐘前)
* 7cdf608 - init (6 分鐘前)
修改當前分支的節點記錄。如:刪除節點、合併節點、修改節點的順序等。
git rebase -i 7cdf608
(-i
後是要修改的節點之前的乙個節點)
顯示
pick 1c9941d a
pick da02660 b
pick 45131c5 c
pick 95d2fab d
刪除節點 d:
完成刪除,當前節點狀態:init-a-b-c。
合併 b、c 節點
完成合併,當前節點狀態:init-a-b。
調換 a、b 的順序
完成修改,當前節點狀態:init-b-a。
git rebase [–onto 《新基線》] [《上游》] [《分支》]
沒有指定分支,則預設是當前分支。指定後,會先 checkout 到指定分支,再進行 rebase。
沒有指定新基線,則預設是上游。
含義:將[分支] reset 到新基線上,再把原分支多於上游的部分移植過來
例子在 temp 分支,執行
git rebase master
相當於執行
git rebase --onto master master temp
將 temp reset 到 master 的節點,再把原 temp 多於 master 的更新內容移植過來。
在 temp 分支,執行
git rebase --onto master temp temp2
切到 temp2 分支,將 temp2 reset 到 master 的節點,再把原 temp2 多於 temp 的更新內容移植過來。
git rebase --abort
git操作 git 操作之 rebase
在使用git提交 時,提交次數過多導致不好檢視和codereview 所以有必要把幾次相關的提交合併來減少提交次數 注意 在rebase命令之前需要commit 或者 stash 或者 revert 一下當前的改動,否則會報錯 第一步 在提交的資料夾下開啟 git 視窗 右鍵選擇 git bash ...
Git 設定自動rebase
1.設定所有分支自動rebasegit config branch.autosetuprebase always 或者git config global branch.autosetuprebase always此時宿主目錄下的.gitconfig檔案會多出下面的內容 branch autosetu...
Git中rebase的作用
git rebase,顧名思義,就是重新定義 re 起點 base 的作用,即重新定義分支的版本庫狀態。要搞清楚這個東西,要先看看版本庫狀態切換的兩種情況 我們知道,在某個分支上,我們可以通過git reset,實現將當前分支切換到本分支以前的任何乙個版本狀態,即所謂的 回溯 即實現了本分支的 後悔...