我git add *
大部分时间都使用,因为我只想推送所有更改的文件。但是当其中有新文件时,我不想推送的一个文件夹也会被推送。是否可以禁用它?
问问题
47 次
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 回答