如何在補丁模式下直接啓動「git add -i」而無需鍵入「5」+ Enter?直接跳轉到'git add -i'補丁命令(5)
我知道「git add -p」,但它不一樣,因爲它沒有顯示我首先選擇的文件列表。
這非常令人討厭,因爲我想快速在「git add -i」和「git commit」之間跳轉,將我的骯髒的樹變成一些漂亮的提交。
如何在補丁模式下直接啓動「git add -i」而無需鍵入「5」+ Enter?直接跳轉到'git add -i'補丁命令(5)
我知道「git add -p」,但它不一樣,因爲它沒有顯示我首先選擇的文件列表。
這非常令人討厭,因爲我想快速在「git add -i」和「git commit」之間跳轉,將我的骯髒的樹變成一些漂亮的提交。
這是一個相當簡單的更改perl文件,使之發生。如果您不喜歡修補所有文件的默認git-add -p
行爲,我只會建議您這樣做。
查找git-add--interactive
的副本,並打開您喜愛的編輯器。轉到patch_update_cmd子例程。在那裏,有一個測試$patch_mode
的if語句。除去if語句的頂部或設置它,以便條件總是計算爲false。保存並測試。
我做了這個工作的一個例子如下。
if (0) {
@them = @mods;
}
else {
@them = list_and_choose({ PROMPT => 'Patch update',
HEADER => $status_head, },
@mods);
}
另一個可能的變化點將在文件的最底部。在if語句之後,您可以將$patch_mode
更改爲一些錯誤值,效果應該相同。
請注意,如果您使用的是軟件包管理器或其他跟蹤已安裝軟件包的類似軟件,則可能會遇到一些問題,我不確定。
你可以做什麼,是'git add -p'並添加文件名作爲命令行參數。 與良好的製表符完成(它只能完成髒文件),它就像從菜單中選擇它一樣有效。
我有git的選項卡完成,但它似乎並沒有給我git'add -p'上的髒文件。 否則這可能是一個可行的選擇。我仍然喜歡使用git add -i界面,所以... – 2010-06-01 09:42:57
沒有參數的git add -p已經自動假定你想添加拼接所有修改過的文件。沒有太多的獲得這種方式... – Cascabel 2010-06-02 00:55:55
如果你不介意提出一個GUI,只需使用git gui
。
謝謝,一旦我有更多的時間,我會試一試。如果我這樣做,我會與維護人員交談,看看它是否可以在上游合併。我對維護我自己的git fork不感興趣:) – 2010-08-06 08:18:47