Tracked Ignored和--假设Merging的操作方式不变



在我的Git repo中,有一个配置文件我希望与主共享repo不同(它必须保持跟踪(,这样更改就不会填充到其他开发人员中。但是,"--假设未更改"可以很好地将我的更改保存在本地,同时将代码推送到其他存储库中。问题变成了,当我需要获得最新的代码,并且我正在从共享回购中提取或合并到我的本地时,我会得到错误:

error: Your local changes to the following files would be overwritten by merge:
    app/grails-app/conf/BuildConfig.groovy
Please, commit your changes or stash them before you can merge.
Aborting

这个错误是有道理的,因为我的配置文件与我正在合并的共享回购中的配置文件不同。但是,如何在保持这种配置不同的情况下获取pull(合并(最新代码呢。我想避免工作周围:

git update-index --no-assume-unchanged app/grails-app/conf/BuildConfig.groovy
git stash save "config file"

然后在合并后取回我更改后的配置:

git stash apply

如何避免这些额外的隐藏和索引步骤——假设不变?除了一个文件之外,还有什么方法可以提取所有文件吗?对于所描述的问题,还有其他解决方案吗?

谢谢

据我所知,您希望在本地忽略一个文件(意味着其他开发人员仍将跟踪该文件(因此.gitignore对您没有帮助,因为它的影响是全局的。

但是,如果您将文件添加到.git/info/exclude,它将在本地被忽略。

这句话来自。gitigner:

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

最新更新