git如何刪除遠程倉庫的某次錯誤提交


git如何刪除遠程倉庫的某次錯誤提交

 

如果遠程倉庫,能ssh訪問,那就跟本地沒什么區別

 
reset命令有3種方式
 
git reset --mixed
    此為默認方式,不帶任何參數的git reset,就是這種方式,它回退到某個版本,只保留源碼,回退commit和stage信息
 
git reset --soft
   回退到某個版本, 只回退了commit的信息,不會恢復stage(如果還要提交,直接commit即可)
 
git reset --hard
     徹底回退到某個版本, 本地的源碼也會變為上一個版本的內容
 
我們在遠程server的倉庫目錄, 執行第2種soft reset就可以了
 
如果不能ssh訪問,比如 code.csdn.net 和 code.jd.com
那么
1)在本地把遠程的master分支刪除
2)再把reset后的分支內容給push上去
 
新建old_master分支 作為備份,以防萬一
git branch old_master
 
將本地的old_master分支 推送到遠程的old_master
git push origin old_master:old_master
 
本地倉庫 徹底回退到某一個版本
git reset –hard
 
刪除遠程的master分支 (注意master前有個:)
git push origin :master
 
重新創建遠程master分支(這跟我們第1次提交本地代碼庫給遠程倉庫的命令一樣吧)
git push origin master
 
 
請參考
 
刪除遠程分支
如果不再需要某個遠程分支了,比如搞定了某個特性並把它合並進了遠程的 master 分支(或任何其他存放穩定代碼的分支),
可以用這個非常無厘頭的語法來刪除它:
git push [遠程名] :[分支名]
 
如果想在服務器上刪除 serverfix 分支,運行下面的命令:
$ git push origin :serverfix
To git@github.com:schacon/simplegit.git
– [deleted] serverfix
 
咚!服務器上的分支沒了。
 
你最好特別留心這一頁,因為你一定會用到那個命令,而且你很可能會忘掉它的語法。
 
有種方便記憶這條命令的方法:
記住我們不久前見過的 git push [遠程名] [本地分支]:[遠程分支] 語法
 
如果省略 [本地分支],那就等於是在說“在這里提取空白然后把它變成[遠程分支]”。
 
上面這小段話,來自權威文檔http://git-scm.com/book/zh/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF

 


免責聲明!

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



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