2

我的目标是跟踪文件,但不要因文件的变化而受到干扰。实际上它是 IDE 特定的项目设置文件夹。我想保存它。但是当我跟踪它时,承诺将分支和 checouted master 分开,它也在 master 中被跟踪。

现在项目设置的更改存在于工作目录中。这让我很困惑,我必须将更改放在我的 IDE 中的单独更改集中。虽然我不喜欢。是否可以从 woking 目录隐藏这些更改,但仍然在单独的分支中跟踪这些更改?

任何建议将不胜感激!(我相信有更优雅的解决方案)

4

2 回答 2

1

这不是 git 的好用例。Git 用于跟踪内容,而不是存储内容然后忽略它。

因此,任何实现这一目标的机制都不是最佳的。

  • .gitignore只忽略未跟踪的内容,因此它不适用于跟踪的内容。

  • git update-index --assume-unchanged基本上是对 git 的承诺,即文件不会更改。改变它然后打破这个承诺,与它相关的所有问题。切换分支或合并可能会失败,因为 git 突然发现文件更改。

您必须询问为什么需要跟踪文件。如果您需要某种可以分发的模板,则将其添加为模板(以不同的名称),并跟踪它,但忽略可以更改的实际文件。

为清楚起见进行编辑:

在这种情况下,模板并没有什么特别之处。它只是您要跟踪的数据,但名称不同。任何需要数据的人都可以复制模板并使用它。

于 2013-05-26T17:14:04.673 回答
1

您可以为自己的 IDE 文件使用单独的存储库。

  1. 您可以将 IDE 存储库放在主项目的子目录中。git status将始终将您的 IDE 文件夹显示为未跟踪,但您可以使用.gitignore. 不要尝试添加和提交子存储库。
  2. 更好的方法不要混合 IDE 文件/目录和主项目。将 IDE 文件放在另一个目录中,并将它们符号链接到具有正确名称的工作目录中。此解决方案仅适用于 Linux/Mac OS。
于 2013-05-27T13:34:21.410 回答