Git的。如何仅在一个分支中跟踪文件(文件夹)

时间:2013-05-26 16:28:10

标签: git branch

我的目标是跟踪文件,但不要通过更改来进行更改。实际上它是IDE特定的项目设置文件夹。我想保存它。但是当我跟踪它时,承诺分开分支和被欺骗的主人,它也被大师跟踪。

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

为了清晰起见,

编辑:

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

答案 1 :(得分:1)

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

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