我在一个变更集中有一堆文件,但我想特别忽略一个修改过的文件。在git状态后看起来如下:
# modified: main/dontcheckmein.txt
# deleted: main/plzcheckmein.c
# deleted: main/plzcheckmein2.c
...
有没有一种方法可以让我添加git,但忽略我不想触摸的一个文本文件?类似于:
git add -u -except main/dontcheckmein.txt
我在一个变更集中有一堆文件,但我想特别忽略一个修改过的文件。在git状态后看起来如下:
# modified: main/dontcheckmein.txt
# deleted: main/plzcheckmein.c
# deleted: main/plzcheckmein2.c
...
有没有一种方法可以让我添加git,但忽略我不想触摸的一个文本文件?类似于:
git add -u -except main/dontcheckmein.txt
当前回答
git add .
git reset main/dontcheckmein.txt
其他回答
对于文件
git add -u
git reset -- main/dontcheckmein.txt
对于文件夹
git add -u
git reset -- main/*
git add -u
git reset -- main/dontcheckmein.txt
注意:Git随后为此添加了特殊语法,其他答案对此进行了解释。
不是直接按照你的要求,因为它不是一个命令就能实现的,但结果应该是你想要的。
通过将所有文件添加到临时区域后
git add -u
键入gitstatus将建议您
git restore --staged main/dontcheckmein.txt
Git为要排除的路径提供:(exclude)pathspec前缀。
它的简短魔法签名是:^。文档:https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-排除,排除
git add . :^main/dontcheckmein.txt
这条线索的一些答案提到:!,这也适用,但仅适用于引号。一般来说被认为是外壳扩展的可怕特性。
如果你和我一样,请在git add命令中使用-p标志-:^魔术签名也很有魅力:
git add -p . :^main/dontcheckmein.txt
为了将更改保存在文件中,但不是为了提交,我这样做了
git添加。
git reset--main/dontcheckmein.txt
gitcommit-m“提交消息”
要验证文件是否被排除,请执行以下操作
git状态