­

學會了這一招,距離Git大神不遠了!

大家好,今天我們來介紹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會展示出我們暫存區的所有文件,這裡我們只提交了一個文件,所以也只能看到一個。

image-20201022084056498
image-20201022084056498

這裡我們選擇1號文件,然後退出,會發現我們回到了git提交之前的狀態。

暫存修補程式

最後介紹一下修補程式的功能,這個功能我用的不多,不過用好了可以在一些情況下大大簡化我們的操作。

當我們執行暫存操作的時候,我們針對的主體都是某一個文件。但是會有這樣一種情況,某一個文件當中的改動很多,我們只想要把其中的一部分添加進git,另外一部分先保留在本地。這種情況也很常見,比如同時開發兩個功能,一個開發好了,另外一個還在測試。為了趕工期,決定先把其中的一個功能先上線,那麼還在測試的功能顯然不能被提交,否則可能會帶來隱患。

針對這種情況,我們就需要使用修補程式。為了演示,我們在之前的文件當中加了兩行廢話,然後執行git add -i,選擇5.

當我們選擇了我們想要進行修補程式的文件並且按回車之後,git會把我們的改動一個部分一個部分地詢問我們。

這裡的命令可能看不明白,沒關係,我們輸入?可以獲取完整的含義。

說了這麼多,其實關鍵的只有兩個,y表示需要把它加入存儲,n表示不加入。這樣當我們操作完了之後,我們再來查看狀態,會發現剛才我們操作過的文件當中,一部分被添加了進來,另外一部分沒有。

總結

怎麼樣,互動式命令是不是非常好用呢?

它的最大的一個優點就是將多個命令集合在了一起,可以一個命令實現多個功能。並且每個功能都以交互的形式展現,可以方便我們的操作,降低我們搞錯的幾率。這也是很多git大神非常喜歡的功能,希望大家都能學會。

今天的文章就到這裡,衷心祝願大家每天都有所收穫。如果還喜歡今天的內容的話,請來一個三連支援吧~(點贊、關注、轉發

原文鏈接,求個關注

{{uploading-image-87920.png(uploading…)}}