為了明確搞清楚重置與回滾的區(qū)別,記錄如下

image.png
提交回滾:revert

image.png
根據(jù)sourcetree提示文案也可以知道,提交回滾是只回滾選中的變更,與其他提交無(wú)關(guān),如果后面的提交有相同的地方改動(dòng),會(huì)有將這些改動(dòng)提示為沖突,進(jìn)行解決沖突后提交。
效果如下:

image.png

image.png
版本7新增的內(nèi)容 “ 新增加5” 在重置后刪除,而8,9的提交并沒(méi)有影響
重置到此次提交:reset
將代碼混滾到此次之前,選中重置的版本以后的每一次提交的被重置
重置之后不要拉取代碼(如若拉取,將之后的代碼又重新拉取回來(lái))需要強(qiáng)制推送
打開(kāi)終端,在Git庫(kù)目錄下使用指令 git push --force或者git push -f
任何還沒(méi)有PUSH到遠(yuǎn)端(origin),但已經(jīng)被提交到本地(local)的commit,都可以用以下命令回退。
git reset HEAD~1 --hard
撤回未完成的合并
git merge --abort
重置對(duì)應(yīng)版本
git reset --hard
9f03e21e501d587e4e784c6c209b1836f4315314