git add -p --忽略子模块?

kje*_*ll_ 5 git addition git-submodules

使用时有没有办法忽略脏子模块git add --patch

我已ignore = dirty按照此处的说明进行设置。这似乎只适用于git statusgit diff。我爱git add -p。每次我想添加一个小的更改时,都必须跳过 10 个脏的子模块,这让我很沮丧。

我还没有完全弄清楚git add -i,但看起来它以相同的方式处理脏子模块。

jth*_*ill 1

用克林特的话来说,默默地添加忽略子模块更新似乎太危险了。

我不知道如何使用 add --patch 来做到这一点,但我可以使用 add --edit 和 vim 键盘映射来非常接近:

map <Leader>\x :%!sed '/^diff --git/\!{H;$\!d};x;1{$\!d;x};/\nindex[^\n]*160000\n/d'<CR>
Run Code Online (Sandbox Code Playgroud)

while 将映射\\x以消除所有子模块更新块。其中的s\!是 vim 特定的 bang 转义符,去掉这些反斜杠即可在其他地方使用 sed。