大家好,今天我們來介紹git當中一項非常重要的功能——交互式工具
有的時候如果我們要處理的文件很多,使用git add .等操作會非常有隱患,因為很有可能我們一不小心就疏忽了一些內容。如果我們使用一個文件名一個文件名地填寫呢,又非常地復雜,體驗並不好。所以呢git當中還提供了第三種方法,也就是今天要介紹的內容——交互式工具。
交互式暫存
交互式暫存的命令非常簡單,其實就是一個參數,-i。這里的i表示的是interactive,也就是交互的意思。當我們執行這個命令之后,git會進入一個交互式的終端。這樣我們就可以通過一些簡短地命令和git進行交互。
首先,我們輸入git add -i 進入交互式的命令。
可以看到這里有8個選項,這里的選項大家應該都能看懂,其中集成了很多種功能,我們接下來一個一個講解。
首先是將新文件添加到暫存區,我們選擇4,表示添加未被git管理的文件,接着又會詢問我們要添加的文件。這里我們就不用再輸入文件名了,直接選擇序號即可。我們先添加一個,選擇3。之后我們會看到3對應的文件名前面被打上了*,表示這個文件將會被添加。
接着我們再敲一次回車,可以回到上級菜單,然后我們選擇7退出,可以看到git的狀態已經改變了。
查看改動
我們將改動添加到暫存區之后,我們還可以使用git add -i 來查看某一個文件的具體改動。操作方法也非常簡單,我們同樣通過git add -i 進入交互模式,然后選擇6進入diff模式。
接着我們輸入1,表示我們要查看的改動,git會打開一個vim窗口,為我們展示這個文件當中被我們添加的改動。
它的效果等價於我們執行git diff --cached。
取消暫存
如果我們add了之后,發現add錯了,想要反悔,那么也是容易的,我們可以使用revert功能撤銷我們這次的add。
操作也很簡單,我們還是輸入git add -i 進入交互式的命令。會發現我們剛進來的時候就提示我們當前暫存區的狀態。這里我們選擇3進行撤銷,git會展示出我們暫存區的所有文件,這里我們只提交了一個文件,所以也只能看到一個。
這里我們選擇1號文件,然后退出,會發現我們回到了git提交之前的狀態。
暫存補丁
最后介紹一下補丁的功能,這個功能我用的不多,不過用好了可以在一些情況下大大簡化我們的操作。
當我們執行暫存操作的時候,我們針對的主體都是某一個文件。但是會有這樣一種情況,某一個文件當中的改動很多,我們只想要把其中的一部分添加進git,另外一部分先保留在本地。這種情況也很常見,比如同時開發兩個功能,一個開發好了,另外一個還在測試。為了趕工期,決定先把其中的一個功能先上線,那么還在測試的功能顯然不能被提交,否則可能會帶來隱患。
針對這種情況,我們就需要使用補丁。為了演示,我們在之前的文件當中加了兩行廢話,然后執行git add -i,選擇5.
當我們選擇了我們想要進行補丁的文件並且按回車之后,git會把我們的改動一個部分一個部分地詢問我們。
這里的命令可能看不明白,沒關系,我們輸入?可以獲取完整的含義。
說了這么多,其實關鍵的只有兩個,y表示需要把它加入存儲,n表示不加入。這樣當我們操作完了之后,我們再來查看狀態,會發現剛才我們操作過的文件當中,一部分被添加了進來,另外一部分沒有。
總結
怎么樣,交互式命令是不是非常好用呢?
它的最大的一個優點就是將多個命令集合在了一起,可以一個命令實現多個功能。並且每個功能都以交互的形式展現,可以方便我們的操作,降低我們搞錯的幾率。這也是很多git大神非常喜歡的功能,希望大家都能學會。
今天的文章就到這里,衷心祝願大家每天都有所收獲。如果還喜歡今天的內容的話,請來一個三連支持吧~(點贊、關注、轉發)
{{uploading-image-87920.png(uploading...)}}
