Git丢弃修改
????Git是如何跟蹤修改的?我們之前修改文件后都用到了兩個命令git add <file>、git commit,其實在Git中,每次修改后,如果不add到暫存區,那就不會加入到commit。 ????查看一下文件內容:
????在其中添加一行記錄第二次提交測試,并add到暫存區。 ????然后我們再添加一行記錄我第三次測試,查看此時文件內容,然后直接執行commit命令。 ????這時我們查看一下工作目錄當前狀態: ????發現test.txt文件修改后并沒有在暫存區,因為我們剛才進行了兩次修改,而只有第一次修改add到暫存區了,第二次修改后沒有執行任何命令,所以并沒有加入到暫存區,也就沒有commit。 ????這個時候,如果我們剛才第二步修改的文件內容是我們修改錯的,我們想直接丟棄工作區的修改時,可以直接使用命令git checkout -- <file> git checkout -- test.txt 復制代碼????執行命令后,再次查看工作目錄的當前狀態,會發現工作區已經干凈了,然后查看一下文件的內容,發現我們第二次的修改記錄已經被丟棄了。
????接下來,如果我們不但改亂了工作區內容,還add到了暫存區,這個時候我們想丟棄修改,就要分兩步了,第一步使用命令git reset HEAD <file>將暫存區的文件修改回退到工作區,接下來就和上面的情景一樣了,我們就可以使用git checkout -- <file>丟棄修改。 ????比如我們再次在test.txt文件中添加一行內容我第三次測試一下,并add到暫存區。 ????接下來我要丟棄這一步修改,執行git reset HEAD test.txt,將暫存區的修改內容回退到工作區。 ????接下來的操作就和之前的是一樣的了,可以直接丟棄工作區的修改,使用命令git checkout -- <file> ????那如果我們已經提交了不合適的修改到版本庫呢?想要撤銷本次提交,那就參考之前的版本回退文章,但是前提是沒有推送到遠程庫。 ????刪除文件本質上和修改文件一樣,我們使用命令git rm用于刪除一個文件,如果一個文件已經被提交到版本庫,那么我們永遠不用擔心對文件誤刪。我們試著將test.txt文件刪除,然后看一下工作區狀態。 ????上面說過,刪除文件本質上也是對一個文件的修改,所以可以使用git add或者git rm刪除文件,接下來我們執行以下,并查看工作區狀態。 ????這是正常刪除就完成了,我們就可以commit到版本庫了,但是如果我們刪除錯了呢?同樣的道理,我們可以依次執行git reset HEAD test.txt和git checkout -- test.txt進行恢復。總結
- 上一篇: Java JDBC学习
- 下一篇: 破解静态WEP KEY全过程