前言

本篇记录一下使用.gitignore指定git忽略某些文件夹与文件。

.gitignore

如果.git根目录下有数据集、大模型等不适于添加到git项目中的文件夹和文件,可以在.git根目录下添加.gitignore文件,在该文件中添加希望忽略的文件和目录名。

例如根目录下有dataset/,weights/large_weight.ckpt,train.py,utils/,我们希望把train.pyutils/添加到本地仓库,则可以创建一个.gitignore文件,内容为:

# .gitignore
dataset/
weights/large_weight.ckpt

然后在终端输入指令:

git status

可以看到,此时只剩红色的train.py, utils/等文件的状态被git捕获,而.gitignore中的文件和目录不会显式状态。

然后就可以更新仓库了:

git add.
git commit -m 'update .gitignore'

注意:如果在添加.gitignore前就已经git commit过了,那么.gitignore文件将失效。

解决提前git commit导致.gitignore失效的问题

先把之前提交时的git缓存删除:

git rm --cached -r .

然后再把包含.gitignore文件的版本添加到仓库中:

git add .
git commit -m 'update .gitignore'

解决错误添加数据集导致.git文件夹太大的问题

第一种解决方法是直接把.git文件夹删掉后git init,再添加.gitignoregit add . git commit,简单高效,但会丢失本地仓库版本和提交历史(慎用!)。

第二种方法也比较简单,但清理效果不如第一种:

git gc --prune=now
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐