📌  相关文章
📜  git 使跟踪的文件不被跟踪或忽略 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:19.144000             🧑  作者: Mango

Git 使文件不被跟踪或忽略

当我们使用Git管理代码时,有些文件可能不需要被纳入Git的版本控制中,例如:日志文件、缓存文件、编译后的文件等等。但是如果不加处理的话,这些文件会被Git跟踪或者上传到Git仓库中,使得Git资源浪费和代码同步困难。所以我们需要让Git知道哪些文件不需要被跟踪或者应该被忽略掉。

.gitignore文件

.gitignore文件是Git用来存储文件忽略规则的。我们可以将需要忽略的文件或者文件夹写入到这个文件里,Git就会忽略这些文件,不对其进行跟踪和上传到Git仓库中。

在项目根目录下创建.gitignore文件:

touch .gitignore

然后使用编辑器来编辑.gitignore文件,并添加需要被忽略的文件或者文件夹,每个文件或文件夹占一行。

例如,下面的.gitignore文件会忽略所有的*.log文件、logs目录和.idea目录:

*.log
logs/
.idea/
已经被版本控制的文件

有时候我们希望某些文件不再被版本控制,但这些文件已经被Git跟踪并纳入了版本控制中。我们需要告诉Git停止跟踪这些文件,不再将其纳入版本控制,但不删除这些文件。

我们可以使用git rm命令来停止跟踪这些文件:

git rm --cached filename

例如,停止跟踪README.md文件:

git rm --cached README.md
全局忽略文件

除了在每个项目下都创建.gitignore文件,我们也可以在全局创建一个忽略规则文件,这样所有的 Git 项目都会应用它。

在用户主目录下创建.gitignore_global文件:

touch ~/.gitignore_global

在这个文件里写入需要被忽略的文件或者目录,例如忽略所有的*.log文件和logs文件夹:

*.log
logs/

最后告诉Git,在全局范围内应用这个忽略规则文件:

git config --global core.excludesfile ~/.gitignore_global

现在所有的Git项目都会忽略*.log文件和logs文件夹了。

结论

在使用Git时,忽略规则文件是非常重要的一部分,不仅可以避免不必要的资源浪费和代码冲突,更可以提高开发效率。熟练掌握Git忽略规则是每个程序员应该具备的基本技能之一。