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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

git版本回退命令_Git学习版本回退和管理文件的修改及删除操作

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git版本回退命令_Git学习版本回退和管理文件的修改及删除操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版本回退

前面我們成功的提交了一次mygit.txt,下面咱對它進行修改,內容如下:

Hello?Git

Git?is?so?easy.

然后用git status來跟蹤該文件的狀態:

可以看到hellogit.txt已經被修改過了,到底這次修改的內容與上次的內容有什么不同的,咱們可以使用git diff查看(若想退出當前狀態不再看下去,按下Q鍵即退出;其他退出亦同。):

當然你也可以查看上次提交的信息,使用git log:

通過前面一章我們知道,該文件還處于工作區,因此我們又可以使用add、commit操作了:

這里筆者偷了個懶,直接用-m表示提交的信息,當然在學習過程中咱可以這樣,但實際工作中一般不這么寫。

好了,提交完后咱再用git status來跟蹤一下(建議多使用git status)狀態:

這里依然是:Git告訴咱們當前沒有需要提交的修改,而且工作目錄是干凈的。

下面再學一個命令:git reflog,它主要用來記錄你的每一次命令和commit id,這個命令非常有效,也建議大家常用。

可以看到咱提交的id號和提交的message被顯示出來了。

加入你現在不想修改了,想回到原來那個版本,該怎么辦呢?別急,這一點Git早就幫我們想好了,使用git reset --hard HEAD^

注意:這里HEAD上面^表示回到上一個版本,如果想回到前面第五個版本呢?我們可以用git reset --hard HEAD~5,當然因為我們這里只修改了1次,所以我們最多只能回到前面一個版本。打開hellogit.txt看看,是內容不是Hello Git呢?

當然如果你又想修改回去,那么咱們還有辦法,用git reset --hard commit-id:

注意:這里的e75e865指的是commit id,上面已經說了,這里就不再贅述。

在Git中,總是有后悔藥可以吃的。當你用$ git reset --hard HEAD^回退到“add distributed”版本時,再想恢復到“append GPL”,就必須找到“append GPL”的commit id。Git提供了一個命令git reflog用來記錄你的每一次命令:

$?git?reflog

ea34578?HEAD@{0}:?reset:?moving?to?HEAD^

3628164?HEAD@{1}:?commit:?append?GPL

ea34578?HEAD@{2}:?commit:?add?distributed

cb926e7?HEAD@{3}:?commit?(initial):?wrote?a?readme?file

終于舒了口氣,第二行顯示“append GPL”的commit id是3628164,現在,你又可以乘坐時光機回到未來了。

撤銷修改:

下面我們再次對helliogit.txt進行修改,內容如下:

Hello?Git

Git?is?so?easy.

Easily?learn?the?Git.

然后我們用git status跟蹤狀態:

這里Git會告訴你,git checkout -- file可以丟棄工作區的修改:

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作區的修改全部撤銷,然后在查看狀態:

工作目錄有變回”clean“了,查看hellogit.txt內容 cat hellogit.txt

內容又改回來了,這樣就完成了一次簡單的修改撤銷。如果你把文件內容修改為原來添加時的:

Hello?Git

Git?is?so?easy.

Easily?learn?the?Git.

git add hellogit.txt到了暫存區,咱們還有辦法,使用git reset HEAD hellogit.txt來返回到工作區狀態:

竟然已經回到了工作區,那么咱們就可以向之前那樣,使用git checkout -- hellogit.txt了:

好了,一切又回到了,原來的狀態。如果你還從暫存區提交到了版本庫,還記得上面的版本回退嗎?可以回到上一個版本就OK了,不過如果你還將本地的修改推送到遠程版本庫(后面會講),那就沒有后悔藥吃了。

刪除文件:

前面已經說了,在Git中,刪除也算一個修改操作。下面咱們先添加一個新文件1.txt到Git并且提交:

這是你如果執行rm 1.txt把1.txt文件刪了,那么這個時候,Git知道你刪了文件,工作區和版本庫就不一致了,我們再用git status跟蹤一下:

這是你有兩個選擇,一是確實要從版本庫中刪除,使用git rm 1.txt并commit一下:

注意:你刪除之后,你只能恢復文件到最新版本,你會丟失最近一次提交后你修改的內容。

另一種情況,你覺得你刪除了想修改過來,因為版本庫中還存在,所以可以很輕松地把誤刪的文件恢復到原來版本。

可以看到,1.txt有回到工作區了。

關于VIM窗口

另外,開始用git commit 提交的時候是用 -m “message”的

后來直接用git commit 回車后彈出一個窗口,后來才知道是linux下的文本編輯器

郁悶的是半天退出不出來,baidu,google一番,

進入之后是VIM的普通模式,按?i鍵,進入INSERT模式,這是可以輸入message了。

輸入完成之后,按ESC鍵進入命令模式 ,輸入冒號(在窗口下面顯示),然后輸入x,回車就OK了。

其實可以用記事本代替vim,

輸入如下配置:

git config --global core.editor C:/windows/notepad.exe

總結

以上是生活随笔為你收集整理的git版本回退命令_Git学习版本回退和管理文件的修改及删除操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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