克隆存储库时导入别名

时间:2018-12-18 16:27:20

标签: git git-clone git-alias

我有一个带有repo/.git/config文件的存储库,其中已定义别名。

是否有方便的方法将那些别名导入由repo-clone/.git/config命令生成的git clone repo repo-clone文件中?

这两个存储库位于不同的设备上,因此我无法使用this solution来使用全局配置文件($ HOME / .gitconfig)。

编辑

我找到了一个新答案,与克隆时导入别名的特殊情况有关,请参阅下面的注释。

1 个答案:

答案 0 :(得分:3)

您不能仅作为克隆的自动结果就在目标存储库的配置中设置别名。这样的功能很容易被滥用,因为这意味着我可以诱使您克隆自己的存储库,并为其设置别名,这将使您运行自己选择的任意代码。很可能会使用。

“但是,马克,别名不能覆盖内置的git命令。”

好的,但是如果我要传播某种恶意软件,则可能有时只需要愚弄一些人即可。很多人有一个“ co”别名,或者在意思是“ checkout”时很难输入“ chekcout”。所以我可以给这样的东西起别名。您可能不想盲目地接受可能执行的任何旧clone操作中的配置。

您可以创建一个脚本来设置别名配置,并将其包含在您的存储库中。然后,克隆回购协议的人可以运行脚本(如果他们信任您,或者已经检查过脚本并且对脚本的安全性感到满意)。

对于受信任的回购协议,您甚至可以设置一个在结帐或其他操作时运行的挂钩,以便可以在回购协议内容更改时更新别名配置。同样,由本地用户决定是否实际配置此挂钩,这是安全性所必需的。