我的具体情况是这样的:我正在和一个团队一起做一个git回购。我们使用的是一台流浪机器,所以在git仓库中有一个流浪文件。我想修改我的流浪机器的配置文件,以使用特定数量的内存和CPU内核,但我不想强迫这个repo的所有其他用户进行这些修改。我们确实希望在repo中有这个Vagrantfile,所以我不能把它添加到.gitignore中。
您可以试试git update-index --assume-unchanged <file>
。这将假设这个文件没有任何变化,所以它不会推送它。
如果你想再次跟踪它,使用git update-index --no-assume-unchanged <file>
你可以把它添加到你自己的$HOME/.gitignore
文件中,不幸的是,我认为这不会影响已经由git控制的文件。
我通常做<some_file>_example
而忽略<some_file>
,这可能是您的情况下的一个选项。
这是一个架构问题,Git本身不容易解决。在我的团队中,我们通过让每个开发人员在共享计算机上维护他们自己的Git仓库克隆副本来解决类似的问题,其中…
C:GitRepos<developer>
…将是每个开发人员在共享资产上的Git工作目录,并且…
C:GitRepos<developer><repo>
…将是每个repo文件夹为每个开发人员将位于。通过这种方式,任何需要特定于开发人员但不包含在repo中的内容都可以保存在C:GitRepos<developer>
中。我希望这对你有帮助。:)