从远程位置克隆git配置是否可能?

22

我在远程位置有一个裸仓库,其中包含一些配置信息,我想与所有克隆它的人分享。这可行吗?每次克隆时,似乎都会将.git/config中的所有内容恢复为默认值,并只添加关于远程仓库的信息。

2个回答

24

我确认本地配置(即 .git/config 文件)从未在不同的仓库之间共享。
这是出于各种安全原因,例如:

  • 一个 Git 别名,该别名只在您特定的环境中有效,(或者像Git 命令本身一样:不行,正如Jan Hudec所评论的,并在问题 "Is it possible to override git command by git alias?" 中详细说明)。
  • 一些 GitHub 指示 (github.token) 应为机密信息,如果将其错误地输入到本地配置文件而非全局文件中,则可能会导致泄露。
  • 个人配置,例如 user.nameuser.email(如果这些与其他存储库不同,则可以在本地级别上设置):当其他人克隆我的存储库时,传播我的姓名和电子邮件地址就没有意义。
  • ...

最接近的方法是对带有配置信息的实际文件进行版本控制,并邀请用户将其复制到他们的 .git/config 文件中。


3
实际上,别名不允许重新定义现有命令。但是你的论点依然成立;配置确实给予了太多的控制权,因此无法安全地自动分发。 - Jan Hudec
@Jan:说得好,我已经在答案中包含了你的评论,以及一个链接到一个较早的SO问题,这个问题应该在一年前就教给了我那个事实 ;) - VonC
1
“裸仓库”的配置文件怎么样?一般来说,是指远程中央仓库?(更具体地说,我正在寻找Github默认的配置设置) - KIAaze
@KIaze 可以使用一些特殊的程序,将远程配置保存到专门的分支中,并进行检索,以提高便利性。https://dev59.com/0GLVa4cB1Zd3GeqPxpIk#21057383 - imz -- Ivan Zakharyaschev

1

可以将 .gitconfig 文件提交,但从安全角度来看并不是最好的选择。

将 git 配置存储为仓库的一部分

我仍在努力理解,但我也想添加一个“上游”远程,并将其保存在原始仓库中... 这样用户就不需要在每次克隆时运行 git remote add 命令了...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接