我大多数时候都使用git add *
,因为我只想推送所有已更改的文件。但是当我有新文件时,也会推送一个我不想推送的文件夹。是否可以禁用它?
答案 0 :(得分:2)
但是当我有新文件时,也会推送一个我不想推送的文件夹。
假设您不想仅推送较新的文件,但想要跟踪该目录中的旧文件,请将foldername添加到.gitignore
。
echo path/to/folder >> .gitignore
如果要删除该文件夹中要停止跟踪的所有文件,请执行另外两个步骤
git rm -r --cached foldername
git commit -m "removed previously tracked files"
答案 1 :(得分: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
)。
答案 2 :(得分:1)
请注意git add -u
只存在修改过的文件,而git add -p
会在分段之前(在修改后的文件中)要求您进行每次更改。
还有-i
;检查full manual here
或者,你可以git add .
,它不会添加被忽略的文件(通过.gitignore忽略)。