📅  最后修改于: 2023-12-03 15:15:19.420000             🧑  作者: Mango
Git 提供了一个非常强大的忽略文件模式,允许你通过定义一个.gitignore
文件来告诉Git忽略特定的文件或文件夹。.gitignore
文件通常被添加到Git仓库中,以防止特定文件被意外提交。
首先,你需要创建一个名为.gitignore
的文件,它可以位于你的项目根目录中。你可以使用任何文本编辑器编辑这个文件,添加你想要忽略的文件名或模式。
下面是一个示例.gitignore
文件的内容:
# 忽略所有以.tmp结尾的文件
*.tmp
# 忽略所有文件夹名为"logs"的文件夹
logs/
# 忽略所有名为"config.ini"的文件,但跟在"/config/"之后的不会被忽略
/config/config.ini
# 忽略根目录下的任意文件名为"setup.log"的文件
/setup.log
# 忽略根目录下的"secret.key"文件
/secret.key
# 忽略任意路径下的"test"文件
**/test
# 忽略所有以.js为扩展名的文件
*.js
# 忽略所有以.html为扩展名的文件,但将assets目录下的HTML文件包含进来
*.html
!assets/*.html
以上示例中使用了一些常见的模式和忽略规则,可以根据你的需要进行适当修改。
.gitignore
文件在提取到Git仓库之后再添加,已经被Git跟踪(已经被上传了)的文件将不会被忽略,因此你需要先将它们从跟踪列表中移除(使用git rm --cached <file>
命令)。*
(匹配任意字符),?
(匹配单个字符),/
(匹配目录),!
(取消忽略规则)等。.gitignore
文件中添加注释(以#
开头)来提高可读性。.gitignore
文件也可以位于子目录中,以用于特定目录下的文件忽略。下面是一些常见的使用场景和模式示例:
# 忽略根目录下的"config.ini"文件
config.ini
# 忽略根目录下的"setup.log"文件
/setup.log
# 忽略所有以.tmp结尾的文件
*.tmp
# 忽略所有以.js为扩展名的文件
*.js
# 忽略所有以.html为扩展名的文件
*.html
# 忽略根目录下的"logs"文件夹
logs/
# 忽略任意路径下的"temp"文件夹
**/temp/
# 忽略根目录下的"secret.key"文件
/secret.key
# 忽略根目录下的"config.ini"文件,但不忽略根目录下的"/config/config.ini"文件
/config/config.ini
# 忽略所有以.html为扩展名的文件,但将assets目录下的HTML文件包含进来
*.html
!assets/*.html
Git 忽略模式是一个强大的工具,可以帮助程序员在版本控制过程中更好地管理需要被忽略的文件和文件夹。.gitignore
文件是每个Git项目都应该有的一个必备文件,在使用时需要根据具体情况和需求进行配置。通过掌握忽略模式的基本规则,程序员可以更好地控制Git仓库中的文件和变化。