我一直遇到一些我想避免的轻微不便。如果我查看我希望git忽略的所有文件的集合,我可以将它们分成两个基本组:
我需要保留在我的文件系统上以处理项目的文件(IDE项目元数据文件,特定于我的工作站的配置文件等)
生成的文件,我不需要,并且当我将它们添加到.gitignore时,通常会混乱我的文件系统。 (编译输出,核心转储等)
理想情况下,我希望git忽略所有这些文件,这样当我查看未经修改的更改时,我可以清楚地看到我更改的内容而没有一堆噪音。如果我将所有这些文件添加到.gitignore,我可以清楚地了解当我执行git status
时我已经改变了什么。 (这是我现在所处的状态)
但是,我还希望能够使用git clean来删除类别2中的所有文件而不删除类别1中的所有文件。如果我只添加类别1中的文件,我可以使用{{ 1}}删除所有未跟踪的东西。不幸的是,这会使git clean -x
混乱。
或者,我可以添加类别2中的所有文件,但我最终必须手动记住不添加/提交我的工作站特定文件。 git status
几乎一直混乱,但并不是那么糟糕。
有没有办法可以让所有这三件事情和谐相处:
git status
git status
git clean
答案 0 :(得分:3)
查看gitignore
手册页的详细信息。它包括有关此案例的详细信息。
选择您想要的案例。
放置模式的文件取决于模式的含义 要使用的。应该是版本控制的模式 通过克隆分发到其他存储库(即,所有文件 开发人员希望忽略)应该进入
.gitignore
文件。特定于特定存储库但具有特定存储库的模式 不需要与其他相关的存储库共享(例如,辅助存储库) 存储在存储库中但特定于一个用户的文件 工作流程)应该进入
$GIT_DIR/info/exclude
文件。模式 用户希望git在所有情况下都被忽略(例如,备份或 由用户选择的编辑器生成的临时文件通常会去 到用户的
core.excludesfile
指定的文件中~/.gitconfig
。