0

git add *大部分时间都使用,因为我只想推送所有更改的文件。但是当其中有新文件时,我不想推送的一个文件夹也会被推送。是否可以禁用它?

4

3 回答 3

2

但是当其中有新文件时,我不想推送的一个文件夹也会被推送。

假设您不想只推送较新的文件,但想跟踪该目录中的较旧文件,请将文件夹名称添加到.gitignore.

echo path/to/folder >> .gitignore

如果要删除该文件夹中的所有文件以停止跟踪,请再执行 2 个步骤

git rm -r --cached foldername
git commit -m "removed previously tracked files"
于 2013-10-02T09:18:05.723 回答
1

注意 的存在git add -u,它只暂存修改过的文件,而git add -p,它会在暂存前询问您每次更改(在修改后的文件中)。

还有-i;在这里查看完整的手册

或者,您可以这样做git add .,它不会添加被忽略的文件(通过 .gitignore 忽略)。

于 2013-10-01T23:11:20.427 回答
1

将文件夹添加.gitignore为条目:yourfoldertoignore/

man gitignore

   o   If the pattern ends with a slash, it is removed for the purpose of
       the following description, but it would only find a match with a
       directory. In other words, foo/ will match a directory foo and
       paths underneath it, but will not match a regular file or a
       symbolic link foo (this is consistent with the way how pathspec
       works in general in Git).

如果您想偶尔推送文件夹,则必须使用--force开关在该目录下添加任何内容。


此外,我强烈建议您不要盲目推送内容,(甚至不要git add file.ext),但也要使用该-p选项来查看您实际要推送的内容(git add -p)。

于 2013-10-01T23:07:28.377 回答