1 修改上一次歷史提交,替換掉上次的提交
git commit --amend
2 git rebase 將不同分支路徑合併到同一分支路徑上
eg:將master分支上的 conflic rebase合併到 head分支上
* ada88de(HEAD, test_rebase)Initial commit on test_rebase
| *2a4a11f (master) coflict rebase
| /
|/
* ac75384 This is a amend commit
$ git rebase master
1 如果發生衝突 可以執行git rebase --abort撤銷
2 解決衝突 vim編輯衝突檔案 ,
3 git rebase --continue,
4 git add 衝突檔案,
5 git rebase --continue
結果:
* ada88de(HEAD, test_rebase)Initial commit on test_rebase
*2a4a11f (master) coflict rebase
|
|
* ac75384 This is a amend commit
如果像回到git rebase操作執行之前
git reflog檢視所有head記錄
使用git reset -- hard HEAD@{N} (N代表數字 )回到操作前的某一次提交
git reset --soft commit 只將版本庫中的head指向commit
git reset --mixed commit 將版本庫中的 head指向commit ,使用commit分支檔案替換暫存去
git reset --hard commit 版本庫指向commit ,替換了暫存去和工作區