如何版本 .git/config 文件?

Gar*_*Dan 6 git version-control config gitignore

我有一个 .gitignore 文件,如下所示:

.*
!.gitignore
Run Code Online (Sandbox Code Playgroud)

我想对我的.git/config文件进行版本控制,以便在我执行git pull.git/config 文件时自动更新。

我怎样才能做到这一点?

我试过类似的东西:

.*
!.gitignore
!.git/config
Run Code Online (Sandbox Code Playgroud)

但这没有用。我知道如果我创建了一个链接 ( ln -s .git/config configurations/git/config),我可以对其进行版本控制,但我想要一种更好的方法来自动更新原始链接。

我正在考虑创建一个指向它的硬链接 ( ln .git/config configurations/git/config configuration/git),但这似乎不是最好的方法。有没有办法避免这种情况?对硬链接进行版本控制时,Git 会正常工作吗?

编辑:解释为什么要这样做

这样做的主要动机是我想对我的用户的主文件夹进行版本控制。我将使用此版本控制来帮助我进行某种部署。我想保持所有克隆同步。如果我处理不好,就会出现冲突,我会处理好这件事。也许我也会对另一个受保护的 git 文件进行版本控制。

Tux*_*ude 1

对文件进行版本控制不是一个好主意.git/config

git 不允许您对目录下的任何内容进行版本控制.git,因为 git 的内容.git对于您的存储库来说是本地的,并且 2 个人从同一远程 URL 进行克隆,.git克隆后不需要在目录下拥有相同的文件集。

例如,您可能只命名了一个远程origin,而其他开发人员可能已将远程命名foo为类似的名称。另一位开发人员可能有 2 个名为bar和 的遥控器baz

有关遥控器(URL、refspec 等)、本地分支(如上游跟踪分支等)的信息存储在您的.git/config文件中。

如果您确实需要覆盖某些配置,您可以.git/config在本地编辑该文件,或者如果它是您可以全局设置的选项,则可以使用您的~/.gitconfig或等效的选项。