日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2017-03-10Git版本回退

發布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2017-03-10Git版本回退 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1再次修改內容:Git is?a distributed version control system.

???????Git is?free software distributed under the GPL.

2提交:$ git add readme.txt$ git commit -m "append GPL"

[master 3628164] append GPL

?1?file changed, 1?insertion(+), 1?deletion(-)

不斷修改然后不斷提交修改到版本庫中,現在版本庫中存在三個版本:

版本1:wrote a readme file

Git is?a version control system.

Git is?free software.

版本2:add distributed

Git is?a distributed version control system.

Git is?free software.

版本3:append GPL

Git is?a distributed version control system.

Git is?free software distributed under the GPL.

如果想查看對過往文件過了哪些內容的修改 我們用git log命令查看過往記錄

$ git log

commit 3628164fb26d48395383f8f31179f24e0882e1e0

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Tue Aug 20 15:11:49 2013 +0800

?

????append GPL

?

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Tue Aug 20 14:53:12 2013 +0800

?

????add distributed

?

commit cb926e7ea50ad11b8f9e909c05226233bf755030

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Mon Aug 19 17:51:55 2013 +0800

?

????wrote a readme file

版本回退

閱讀: 919855

?

現在,你已經學會了修改文件,然后把修改提交到Git版本庫,現在,再練習一次,修改readme.txt文件如下:

Git is?a distributed version control system.

Git is?free software distributed under the GPL.

然后嘗試提交:

$ git add readme.txt$ git commit -m "append GPL"

[master 3628164] append GPL

?1?file changed, 1?insertion(+), 1?deletion(-)

像這樣,你不斷對文件進行修改,然后不斷提交修改到版本庫里,就好比玩RPG游戲時,每通過一關就會自動把游戲狀態存盤,如果某一關沒過去,你還可以選擇讀取前一關的狀態。有些時候,在打Boss之前,你會手動存盤,以便萬一打Boss失敗了,可以從最近的地方重新開始。Git也是一樣,每當你覺得文件修改到一定程度的時候,就可以“保存一個快照”,這個快照在Git中被稱為commit。一旦你把文件改亂了,或者誤刪了文件,還可以從最近的一個commit恢復,然后繼續工作,而不是把幾個月的工作成果全部丟失。

現在,我們回顧一下readme.txt文件一共有幾個版本被提交到Git倉庫里了:

版本1:wrote a readme file

Git is?a version control system.

Git is?free software.

版本2:add distributed

Git is?a distributed version control system.

Git is?free software.

版本3:append GPL

Git is?a distributed version control system.

Git is?free software distributed under the GPL.

當然了,在實際工作中,我們腦子里怎么可能記得一個幾千行的文件每次都改了什么內容,不然要版本控制系統干什么。版本控制系統肯定有某個命令可以告訴我們歷史記錄,在Git中,我們用git log命令查看:

$ git log

commit 3628164fb26d48395383f8f31179f24e0882e1e0

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Tue Aug 20 15:11:49 2013 +0800

?

????append GPL

?

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Tue Aug 20 14:53:12 2013 +0800

?

????add distributed

?

commit cb926e7ea50ad11b8f9e909c05226233bf755030

Author: Michael Liao <askxuefeng@gmail.com>

Date: ??Mon Aug 19 17:51:55 2013 +0800

?

????wrote a readme file

git log命令顯示從最近到最遠的提交日志,我們可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file

如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數:

$ git log --pretty=oneline3628164fb26d48395383f8f31179f24e0882e1e0?append GPL

ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed

cb926e7ea50ad11b8f9e909c05226233bf755030?wrote a readme file

這些數字為commit id版本號svn不一樣,Git的commit id不是1,2,3……遞增的數字?避免沖突

?

準備把readme.txt回退到上一個版本在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100

把當前版本“append GPL”回退到上一個版本“add distributed”,就可以使用git reset命令:

$ git reset?--hard HEAD^

HEAD is?now at?ea34578 add?distributed

看看readme.txt的內容是不是版本add distributed

$ cat readme.txt

Git is?a distributed version control system.

Git is?free software.

如果再想回到上一個版本 通過版本號 返回到指定的版本 cat <文件名> 查看內容

$ git reset?--hard 3628164

HEAD is?now at?3628164?append GPL

如果忘記版本號 可以通過git reflog??找尋你的每一次命令:

$ git?reflogea34578?HEAD@{0}: reset: moving?to?HEAD^

3628164 HEAD@{1}: commit: append?GPLea34578?HEAD@{2}: commit: add?distributedcb926e7?HEAD@{3}: commit?(initial): wrote?a?readme?file

小結:

HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id

穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

轉載于:https://www.cnblogs.com/livelihood/p/6528781.html

總結

以上是生活随笔為你收集整理的2017-03-10Git版本回退的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。