繁体   English   中英

如何为我的git存储库设置默认别名或其他配置?

[英]How do I set default aliases or other configuration for my git repository?

我想为git存储库设置一些默认别名和其他配置,这样当新用户克隆它时,他们会在该项目中立即为这些别名提供这些别名。

即,我想做:

git clone <remote-repo>

然后以.git/config结尾,其中包含一些预设别名,例如:

[alias]
    st = status

我以为我可以在远程存储库中编辑.git/config ,但这不起作用。

有什么方法可以让这件事发生吗?

你不能直接这样做。 某些配置(如工具)非常依赖于平台(有时依赖于用户),git会尝试避免使用存储库的每个人都遇到问题。

例如,您当然不希望允许某人为整个存储库设置默认的非本地用户名和电子邮件,或者最终在Windows结帐时使用一堆仅限Linux的合并工具。

话虽这么说,没有什么能阻止你在项目的根目录中输入你想要的任何命令的脚本,并要求用户在第一次克隆时运行它。 当您已经手动克隆项目时,这相对较少。 例如,要设置别名,请在脚本中执行以下操作:

git config --local alias.st status

这样做的另一个好处是可以为不同的平台编写不同的脚本。

我不鼓励尝试将git首选接口强加给其他用户,因为他们克隆了你设置的repo。 可能只是你使用了一个过于简化的例子,但是直言不讳的是,用户是否将st设置为status的别名是不是你的事。

如果您认为为什么使用您的repo 真的需要某些别名,那么您可以包含一个脚本,在项目的根目录中设置它们。 然后,您可以以任何您喜欢的方式记录它 - 自述文件,项目页面上的注释等。

但是,仅仅克隆的行为导致别名被设置 - 甚至是新克隆的本地 - 将是一个巨大的安全漏洞,所以不仅不能这样做,而且我希望这永远不会改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM