【发布时间】:2021-10-28 21:28:51
【问题描述】:
我有一个包含本地配置的配置文件,我不想在我的 GIT 项目中更改它,master 有自己的版本。
我希望能够切换分支并永远更改该文件(使用我的本地配置),我认为只保留它而不进行存储就可以解决问题,但是当签出到另一个分支时 (master) 这个消息出现:
错误:您对以下文件的本地更改将被覆盖 通过合并: my.file 请在合并之前提交您的更改或存储它们。中止
我看到this answer 与我正在寻找的非常相似,但我不想影响主分支或我的任何队友,我只想让我的本地人保持这种状态。
有没有办法在 git 中做到这一点?
【问题讨论】:
-
在 Git 中提交 actual 配置文件总是一个错误(不是你的错误,你继承了它,但现在你必须忍受它)。您需要提交 your 版本。只需您自己的分支名称。不要害怕分支和提交!
-
一旦你在某处提交了文件,你就可以删除所有更改并返回到其他人的配置文件版本,就像你进行协作工作一样。然后:在需要时获取文件的 your 版本(在现代 Git 中使用
git restore)。随时获取文件的他们的 版本(同样,使用git restore)。您已将 your 版本保存在 your branch 上。只要确保在提交打算回馈时使用“他们的”版本即可。 -
最后,试着让每个人都纠正这个错误:repository 不应该包含 实际配置,而应该包含 示例配置。如果配置文件被命名为
foo.conf,你永远不会提交foo.conf,只会提交foo.conf.sample,永远。因此,您可以制作配置文件名称已更改的软件的更新版本,并且没有提交的配置文件,只有一个示例。 -
用户迁移到新版本的软件,方法是照常检查,然后重命名或复制他们的 real 配置文件。它从来没有提交,所以没有人的配置永远在repository中。只有示例在存储库中。