git如何使工程回到原來的版本

來源:互聯網
上載者:User

a)初始化操作

1   建立立一個工程  git init,添加兩個檔案 main.c  readme.txt

2.   

修改兩檔案

  main.c                                                                    readme.txt

                       

  git  add . 快照

      git  commit -m “init version”

3. 修改main.c檔案,快照,提交

git add .

git commit -m "change main.c"

4. 建立分支,切換到分支 

修改檔案 main.c 

readme.txt

git add main.c readme.txt

git commit -m "branch change "

查看下當前日誌

b)發現問題

我們現在發現當前的版本有點問題,還不能提交到版本庫。

1.從git commit 中返回

   切換到主分支

   git reset --soft HEAD^

解釋一下,HEAD是當前分支的最新版本。^表示父節點。當前節點的父節點,就是上一次提交的版本。也就是標記

git status

發現恢複到了修改但是沒有提交的狀態

2.我們需要從git add中返回

再仔細查看之後,我們發現main.c真的寫錯了,需要返回到git add之前的狀態。

git reset -q main.c


3. 回到沒有做過的情況

git reset --hard(此過程無法復原,回到修改之前的狀態)


main.c  回到了初始的狀態

   

用gitk查看,確實回到了初始狀態



4. 直接回到某個版本

我們現在切換到bra分支。

git checkout bra

然後用gitk看一下。可以看出,我們之前的操作,對bra分支一點影響也沒有。現在我們需要把bra分支回複到初始狀態,但是當前的改動的代碼還是需要留著。我們可以看,init版本是目前的版本的父節點的父節點。我們可以這麼操作:

git reset --soft HEAD^^

HEAD^代表父節點,HEAD^^代表父節點的父節點

6.得到當前最新代碼

最後。我們把main.c和readme.txt都刪掉。我們需要從版本庫中取得當前最新的代碼。

很簡單:

git checkout master

如果是要bra分支的最新代碼,則:

git checkout banana

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.