1、首先用 git log 命令查看歷史記錄(在實際使用當中,由於自己新建的分支上只有自己提交的問題,也可以采用暴力直接刪除遠程分支的方式解決問題)
2、假設要回退到上一版本,版本號應是Fri Jul 12 11:07:01 2019時間的19462f6f46cf4cbc211d366359afac0c17a7c190
-
git reset --soft 19462f6f46cf4cbc211d366359afac0c17a7c190
-
// 注意 --hard 參數會拋棄當前工作區的修改
-
// 使用 --soft 參數的話會回退到之前的版本,但是保留當前工作區的修改,可以重新提交
3、提交回退,git push origin step5/test --force
這樣就回退成功了,但是有人會發現,另一個同樣的工程pull拉取最新代碼的時候,不能拉取最新代碼。這是因為有問題的工程的版本和未回退前的版本是一樣的,現在回退了也就是版本降低了,pull是不可能從高版本降到低版本的。如果是這樣,可以用 git branch -D step5/test 來刪除本地分支,或是刪除文件夾,重新下載。
當然要解決這個問題,還可以用 git revert的作用通過反做創建一個新的版本,這個版本的內容與我們要回退到的目標版本一樣,但是HEAD指針是指向這個新生成的版本,而不是目標版本,這樣可以保留要回退的版本,如果有其它人 pull 工程就不會取不到最新代碼了。
刪除遠程和本地分支
刪除遠程分支
1:git branch -a(查看所有的分支)
2:有remotes/origin開頭的就是遠程分支。
3:切換其他分支
假設要刪除hehe的遠程分支,我們需要先把分支切換到master,因為你現在所在的分支就是hehe,在這個分支下,是不能刪除它的。
4:刪除遠程分支git push origin --delete hehe
刪除本地分支:
git branch -D step5/test
5:刪除后可以使用git gc --prune=now命令清空本地緩存