git如何撤銷已經push到遠端的代碼


1、首先用 git log 命令查看歷史記錄(在實際使用當中,由於自己新建的分支上只有自己提交的問題,也可以采用暴力直接刪除遠程分支的方式解決問題)

2、假設要回退到上一版本,版本號應是Fri Jul 12 11:07:01 2019時間的19462f6f46cf4cbc211d366359afac0c17a7c190

  1. git reset --soft 19462f6f46cf4cbc211d366359afac0c17a7c190
  2. // 注意 --hard 參數會拋棄當前工作區的修改
  3.  // 使用 --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命令清空本地緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM