git add -p --忽略子模块?
使用git add --patch
时有没有办法忽略脏子模块?
我已经设置了ignore = dirty
如此处所述。这似乎只适用于 git status
和 git diff
。我喜欢 git add -p 。每次我想添加一个小的更改时,都必须跳过 10 个脏的子模块,这让我很沮丧。
我还没有完全弄清楚 git add -i ,但看起来它以相同的方式处理脏子模块。
Is there a way to ignore dirty submodules when using git add --patch
?
I've set ignore = dirty
as explained here. This seems to only work with git status
and git diff
. I love git add -p
. Having to skip through 10 dirty submodules every time I want to add a small change frustrates me.
I haven't quite figured out git add -i
yet, but it looks like it handles dirty submodules the same way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用克林特的话来说,默默地添加忽略子模块更新似乎太危险了。
我不知道如何使用 add --patch 来做到这一点,但我可以使用 add --edit 和 vim 键映射来非常接近:
while will map
\\x
以消除所有子模块更新块。其中的\!
是 vim 特定的 bang 转义符,去掉这些反斜杠即可在其他地方使用 sed。Having add silently ignore submodule updates seems, to quote Clint, tooooo dangerous.
I don't know how to do it with add --patch, but I can get pretty close with add --edit and a vim keymapping:
while will map
\\x
to eliminate all submodule update hunks. The\!
s in that are vim-specific bang escapes, strip those backslashes to use the sed elsewhere.使用 Git 2.16.x/2.17,您甚至不需要
--ignore-submodules
选项,因为“
git add -p
”被教导忽略子模块的本地更改它们不会干扰常规更改的部分添加
反正。
请参阅 提交 12434ef(2018 年 1 月 13 日),作者:Nguyễn Thái Ngọc Duy (
pclouds
)。(由 Junio C Hamano --
gitster
-- 合并于 提交 e7e8077,2018 年 1 月 23 日)With Git 2.16.x/2.17, you won't even need a
--ignore-submodules
option,since "
git add -p
" was taught to ignore local changes to submodules asthey do not interfere with the partial addition of regular changes
anyway.
See commit 12434ef (13 Jan 2018) by Nguyễn Thái Ngọc Duy (
pclouds
).(Merged by Junio C Hamano --
gitster
-- in commit e7e8077, 23 Jan 2018)