我在一个变更集中有一堆文件,但我想特别忽略一个修改过的文件。在git状态后看起来如下:

# modified:   main/dontcheckmein.txt
# deleted:    main/plzcheckmein.c
# deleted:    main/plzcheckmein2.c
...

有没有一种方法可以让我添加git,但忽略我不想触摸的一个文本文件?类似于:

git add -u -except main/dontcheckmein.txt

当前回答

为了将更改保存在文件中,但不是为了提交,我这样做了

git添加。

git reset--main/dontcheckmein.txt

gitcommit-m“提交消息”

要验证文件是否被排除,请执行以下操作

git状态

其他回答

对于文件

git add -u
git reset -- main/dontcheckmein.txt

对于文件夹

git add -u
git reset -- main/*

添加所有文件

git添加。

获取要粘贴到下面的文件路径

git状态

从提交中删除

git reset--file/to/path/file-to-ignore.txt

试试看:

git checkout -- main/dontcheckmein.txt

现在git支持通过pathspec magic:(exclude)及其缩写:!排除某些路径和文件!。因此,您可以通过以下命令轻松实现。

git add --all -- :!main/dontcheckmein.txt
git add -- . :!main/dontcheckmein.txt

实际上,您可以指定更多:

git add --all -- :!path/to/file1 :!path/to/file2 :!path/to/folder1/*
git add -- . :!path/to/file1 :!path/to/file2 :!path/to/folder1/*

对于Mac和Linux,用引号围绕每个文件/文件夹路径

git add --all -- ':!path/to/file1' ':!path/to/file2' ':!path/to/folder1/*'

要提交的更改:(使用“git reset HEAD…”取消分页)