文章目录
- git add 时单独排除某个目录或者文件
- 使用 .gitignore 文件
- 使用命令行排除文件或目录
git add 时单独排除某个目录或者文件
在使用 git add
命令时,如果你想要排除特定的目录或文件,可以使用 .gitignore
文件或使用路径规范来指定不想添加的文件或目录。
使用 .gitignore 文件
创建或编辑根目录下的 .gitignore
文件,然后添加你想要忽略的文件或目录的模式。例如:
# 忽略 specific_folder 目录
specific_folder/ # 忽略 specific_file.txt 文件
specific_file.txt # 忽略所有 .log 文件
*.log
在 .gitignore
中设置好规则后,这些文件或目录会被 Git 忽略,不会被 git add
添加。如果之前已经用 git add
命令追踪了 .gitignore
中列出的文件,需要先用 git rm --cached
命令撤销它们的追踪状态。
使用命令行排除文件或目录
如果你只是想临时排除某些文件或目录,可以在使用 git add
命令时指定要添加的文件类型或使用排除模式:
# 添加当前目录下的所有文件,但排除 specific_folder 目录
git add -- ':!specific_folder' # 添加当前目录下的所有文件,但排除 specific_file.txt 文件
git add -- ':!specific_file.txt' # 添加当前目录下的所有 .java 文件,但排除在 specific_folder 目录下的 .java 文件
git add *.java -- ':!specific_folder/*.java'
在这些命令中,':'
开头表示路径规范的开始,'!'
表示排除的意思。路径规范需要放在引号中以避免被 shell 解释。
请注意,这种方法只是在当前的 git add
操作中排除文件或目录,它不会改变 Git 的跟踪状态,也不会影响未来的操作。而且,如果 Git 已经跟踪了这些文件,它们任然会被加入到暂存区。如果你想永久排除某些文件或目录,应该使用 .gitignore
文件。