1

我一直遇到一些我想避免的小麻烦。如果我查看我希望 git 忽略的所有文件集,我可以将它们分成两个基本组:

  1. 我需要保留在我的文件系统上以处理项目的文件(IDE 项目元数据文件、特定于我的工作站的配置文件等)

  2. 生成的文件是我不需要的,当我将它们添加到 .gitignore 时,它​​们通常会弄乱我的文件系统。(编译输出、核心转储等)

理想情况下,我希望 git 忽略所有这些文件,这样当我查看未暂存的更改时,我可以清楚地了解我更改的内容,而不会产生一堆噪音。如果我将所有这些文件添加到 .gitignore 中,我可以清楚地了解我在执行 .gitignore 时所做的更改git status。(这是我现在的状态)

但是,我还希望能够使用 git clean 清除类别 2 中的所有文件,而无需删除类别 1 中的所有文件。如果我只添加类别 1 中的文件,我可以使用它git clean -x来删除所有未跟踪的文件事物。不幸的是,这弄乱了git status

或者,我可以添加类别 2 中的所有文件,但最终我不得不手动记住不要添加/提交我的工作站特定文件。 git status几乎连续混乱,但没有那么糟糕。

有没有办法让这三件事和谐相处:

  1. 清楚地了解我关心的文件git status
  2. 删除所有我不关心的文件git clean
  3. 保留我运行时不想共享的所有未跟踪文件git clean
4

1 回答 1

3

查看gitignore手册页的详细信息。它包括有关此案例的详细信息。

选择您想要的案例。


放置模式的文件取决于模式的使用方式。应该受版本控制并通过克隆分发到其他存储库的模式(即,所有开发人员都希望忽略的文件)应该进入一个.gitignore文件。

特定于特定存储库但不需要与其他相关存储库共享的模式(例如,存在于存储库内但特定于一个用户工作流的辅助文件)应该进入$GIT_DIR/info/exclude文件。

用户希望 git 在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常进入core.excludesfile用户的 ~/.gitconfig.

于 2012-08-30T21:33:04.557 回答