git學習中遇到的疑難雜症

來源:互聯網
上載者:User

標籤:sof   通過   rev   備份   server   ranch   commit   comm   ack   

GIT倉庫如何恢複到前一次提交

一、通過使用Git版本恢複命令reset,可以回退版本

  reset命令有3種方式:

    1、git   reset   –mixed:此為預設,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index資訊  

    2、git   reset   –soft    :回退到某個版本,只回退了commit的資訊,不會恢複到index file一級。如果還要提交,直接commit即可  

    3、git   reset   –hard  :徹底回退到某個版本,本地的源碼也會變為上一個版本的內容    

  以下是一些reset的樣本:

    回退所有內容到上一個版本    

      git  reset  HEAD^      

    回退a.py這個檔案的版本到上一個版本      

      git  reset  HEAD^  a.py      

    向前回退到第3個版本      

      git  reset  –soft  HEAD~3      

    將本地的狀態回退到和遠端一樣      

      git  reset  –hard  origin/master      

    回退到某個版本      

      git  reset  057d(版本號碼)      

    #回退到上一次提交的狀態,按照某一次的commit完全反向的進行一次commit      

      git  revert  HEAD 


二、本地倉庫和遠程倉庫同時版本回退

    如果我們某次修改了某些內容,並且已經commit到本地倉庫,而且已經push到遠程倉庫了這種情況下,我們想把本地和遠程倉庫都回退到某個版本,該怎麼做呢?前面講到的git reset只是在本地倉庫中回退版本,而遠程倉庫的版本不會變化這樣,即時本地reset了,但如果再git pull,那麼,遠程倉庫的內容又會和本地之前版本的內容進行merge這並不是我們想要的東西,這時可以有2種辦法來解決這個問題:

    1、直接在遠程server的倉庫目錄下,執行git reset –soft 10efa來回退。注意:在遠程不能使用mixed或hard參數

    2、在本地直接把遠端master分支給刪除,然後再把reset後的分支內容給push上去,如下:

     建立old_master分支做備份    

      git  branch  old_master    

     push到遠程    

      git  push  origin  old_master:old_master   

     本地倉庫回退到某個版本  

      git  reset  –hard  bae168(版本號碼) 

     刪除遠端master分支

      git  push  origin  :master   冒號前面的空格不能少,原理是把一個空分支push到server上,相當於刪除該分支。

     重新建立master分支 

      git  push  origin  master

關於git刪除遠程分支

一不小心把本地的臨時分支push到server上去了,想要刪除。
一開始用


git branch -r -d origin/branch-name

不成功,發現只是刪除的本地對該遠程分支的track,正確的方法應該是這樣:

git push origin :branch-name

冒號前面的空格不能少,原理是把一個空分支push到server上,相當於刪除該分支。

git學習中遇到的疑難雜症

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.