git rebase的作用是合併提交。為什麼需要合併提交呢?假設我們在開發乙個功能,在這期間做了n次的commit,才最終完美實現了該功能。如果直接將這些commit直接提交到master,會使提交資訊顯得過多過雜,同時以後也不好確定哪些提交是對應這個功能的。所以將以上的n個commit合併成乙個,再公升到master,這就顯得很有必要。
操作步驟如下:
1.使用git log命令檢視提交歷史
2.git rebase -i [commit_log],commit_log即commit_id,表示要合併commit_id之後的那些commit提交,commit_log一般是某功能第乙個commit提交(commit_id)的前乙個commit_id。
3.在出現的編輯器裡,將除第一行外的其他行的pick改為s,然後儲存退出。
4.在接下來出現的編輯器裡,修改提交資訊,然後儲存退出。
5.此時執行git log,會發現你的n個commit資訊已經被合併為乙個
6.git rebase操作後,會產生乙個新的提交點,所以需要執行git push -f來把本地的修改強推到遠端,保證遠端與本地的同步
至此,合併請求操作結束。
7.如果過程中想中止合併,可以執行git rebase --abort。
ps:rebase最好只在自己的開發分支上操作,不要通過rebase對任何已經提交到公共倉庫中的commit進行修改(你自己乙個人玩的分支除外)
參考**:
git rebase -i
git rebase 合併多次提交.
rebase 用法小結
Git rebase合併提交
接著另一篇日誌的背景.經過 git rebase 一溜操作之後,發現提交的資訊過於冗餘,我們想把同樣的那幾個提交合併成乙個.這時候就該 git rebase i 閃亮登場了.先貼一張當前的提交記錄圖 我們需要合併的是上面4條提交,so這樣操作 git rebase i head 4 該命令執行後,會...
git rebase 合併提交記錄
情景模擬 在開發分支上一次提交2次 開啟控制台 輸入命令 編輯指令 pick 保留該commit 縮寫 p reword 保留該commit,但我需要修改該commit的注釋 縮寫 r edit 保留該commit,但我要停下來修改該提交 不僅僅修改注釋 縮寫 e squash 將該commit和前...
使用Git Rebase合併多次提交
在平時的軟體開發中,我們每個team使用乙個公共倉庫 這裡說的是git倉庫 每當有乙個新的需求,我們會拉出乙個特性分支,然後在這個特性分支上做開發以及提交個人的 我有個習慣就是 為了確保 的安全性,每天下班前會把個人的本地倉庫 提交到公共倉庫。由於每天開發過程中由於各種原因會提交幾次 到個人倉庫,這...