GIT常用方法總結
刪除提交
刪除最近一次提交
git reset --hard HEAD~1
刪除某次提交
git rebase -i xxxx版本號
修改commit 前面的pick爲drop,然後保存退出。
恢復刪除提交的誤操作
git relog
它會記錄所有HEAD的歷史,也就是說當你做 reset,checkout等操作的時候,這些操作會被記錄在reflog中。
git reset -hard xxxxx版本號
使用git rebase合併多次commit
git rebase -i HEAD~2
該命令執行後,會彈出一個編輯窗口,2次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交。
修改第2行的第一個單詞pick爲squash
ash,當然看一下里面的註釋就理解含義了。
然後保存退出:wq,git會壓縮提交歷史,如果有衝突,需要修改,修改的時候要注意,保留最新的歷史,不然我們的修改就丟棄了。修改以後要記得敲下面的命令:
git add .
git rebase --continue
如果你想放棄這次壓縮的話,執行以下命令:
git rebase --abort
如果沒有衝突,或者衝突已經解決
同步到遠程
git push -f
修改上一次提交信息
git commit --amend
當前分支rebase主分支
主分支pull最新代碼
切換到自己分支下操作
git rebase origin/master
主分支名稱
git log --oneline
一行一行的顯示日誌
拆分commit提交
git log --online
git rebase -i xxxxx
修改要拆分的commit提交,改pick 爲 edit。保存退出
git reset HEAD^
要修改提交的在工作區相當於新創建(處於未跟蹤狀態)
然後使用add和commit命令。
git add xxx
git commit -m 'one'
git add yyy
git commit -m 'two'
在仍處於Rebase狀態,所以要讓它繼續運行完畢,代碼如下:
git rebase --continue
完畢
更新子模塊
git submodule update --remote
取得某次提交
git cherry-pick commitid
git push
撤銷修改
git reset --hard
放棄本地修改強制更新
git fetch --all
git reset --hard origin/dev
撤銷reset
git reflog
git reset --hard xxxx
12、上線
npm version patch
git log master…dev --oneline --no-merges