我如何让git忽略对特定文件的本地更改,而不修改.gitignore



我的具体情况是这样的:我正在和一个团队一起做一个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>中。我希望这对你有帮助。:)

最新更新