github忽略文件改动

1. 什么是GitHub忽略文件

在使用Git进行版本控制时,需要将文件进行提交和保存。但是有些文件并不需要跟踪版本变化或者上传到远程仓库,比如临时文件、缓存文件、日志文件等等。这个时候,我们需要使用.gitignore文件来指定这些文件应该被忽略。

Git会自动忽略.gitignore文件中指定的文件,这样就可以保持仓库的干净和简洁。同时,忽略不必要的文件还可以加快仓库的上传和下载速度,减小仓库的体积。

# 忽略所有 .a 文件

*.a

# 但是 foo.a 除外

!foo.a

# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

/TODO

# 忽略 build/ 目录下的所有文件

build/

# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

doc/*.txt

# 忽略 doc/ 目录下的所有 .pdf 文件

doc/**/*.pdf

2. 修改.gitignore文件

2.1 gitignore文件的位置

在使用Git时,每个仓库都有一个.gitignore文件,这个文件放在仓库的根目录下。如果仓库中没有.gitignore文件,可以通过新建一个文件并命名为.gitignore的方式来创建。

如果需要在整个计算机上设置全局忽略文件,可以在Git的配置文件中进行设置。可以通过以下命令来打开Git的全局配置文件(如果此前没有设置过,会新建一个):

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

这样Git就会在所有仓库中都自动忽略.gitignore_global文件中指定的文件。

2.2 修改.gitignore文件

在修改.gitignore文件时,需要注意一些细节。首先需要了解一些gitignore文件的语法:

仅有注释行以 # 开头。

可以使用正则表达式。

匹配模式可以层层嵌套。

以 / 开头表示只匹配根目录。

以 / 结尾表示只匹配文件夹。

否定模式以 ! 开头。

每个匹配模式占一行。

在.gitignore文件中指定忽略文件时,需要注意一些规则:

不要将.gitignore文件放到需要忽略的文件夹下。

不要使用相对路径。

不要在.gitignore文件中直接指定文件列表,而是应该使用模式匹配。

不要忽略重要的文件或文件夹,比如.git文件夹、README文件和LICENSE文件等。

以下是一些实用的.gitignore规则:

# 忽略所有 .log 文件

*.log

# 忽略所有 .tmp 文件

*.tmp

# 忽略所有 .swp 文件

*.swp

# 忽略所有 .DS_Store 文件

.DS_Store

# 忽略所有 backup 目录

backup/

# 忽略所有 hidden 目录及其文件

/hidden/**

# 不要忽略这些文件夹

!example/

!example/src/

!example/src/main/

!example/src/main/resources/

!example/src/test/

!example/src/test/java/

!example/src/test/resources/

!example/target/

!example/bin/

3. 生效.gitignore文件

当我们修改了.gitignore文件之后,需要将其应用到已经跟踪的文件中。一个简单的方法是使用以下命令:

git rm -r --cached .

git add .

git commit -m "update .gitignore file"

这个命令会从git仓库中移除已经提交过的文件,然后重新添加并提交。这样就可以使修改的.gitignore文件生效了。