git add index.js git commit -m '自覺得是在開發分支實際上是在master分支的一次提交'
以前沒有出過這樣的錯誤。就算出現也是直接push
了而後再 reset
回滾而後再次 push -f
。git
reset
的三個參數--mixed
(默認參數)重置位置的同時,只保留Working Tree
工做目錄的內容,但會將暫存區 和 Repository
中的內容更改和 reset
目標節點一致,因此原節點和Reset節點之間的變動文件,會放入Working Tree
工做目錄中。code
簡單來講就是:不刪除工做空間改動代碼,可是撤銷commit
,而且撤銷git add
開發
git reset --mixed HEAD^ 和 git reset HEAD^
HEAD^ HEAD~1 HEAD~2
其中HEAD^ HEAD~1
同爲上一個版本,HEAD~2
爲上兩個版本,也就是兩次commit,以此類推
若是須要再撤銷修改it
git checkout index.js
--soft
重置位置的同時,保留 working Tree
工做目錄和暫存區的內容,只讓 repository
中的內容和 reset
目標節點保持一致,因此原節點和reset節點之間的變動文件會放入暫存區中。ast
簡單來講就是:不刪除工做空間改動代碼,撤銷commit
,不撤銷git add
文件
--hard
重置位置的同時,直接將 working Tree
工做目錄、 暫存區及 repository
都重置成目標 reset
節點的內容。co
簡單來講就是:刪除工做空間改動代碼,撤銷commit
,撤銷git add
block
這個操做會直接恢復到了上一次的
commit
狀態。
push origin
在作完上面的操做後工作
git push origin -f
通常在撤回回滾的操做時候請記錄好
commit
的版本號,以防再次出現失誤沒法挽回