克隆存储库时导入别名

Import aliases when cloning repository

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

有没有方便的方法将这些别名导入 git clone repo repo-clone 命令生成的 repo-clone/.git/config 文件?

两个存储库在不同的设备上,所以我不能使用this solution 使用全局配置文件($HOME/.gitconfig)。

编辑

我找到了一个新答案,与克隆时导入别名的这种特殊情况更相关,请参阅下面的评论。

您不能仅仅作为克隆的自动结果在目标存储库的配置中设置别名。这样的功能很容易被滥用,因为这意味着我可以通过让你克隆我的 repo 并设置一个你不希望的别名来欺骗你 运行ning 我选择的任意代码通过您可能会使用的命令。

"But, Mark, aliases can't override built-in git commands."

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

您可以创建一个脚本来设置别名配置并将其包含在您的存储库中。然后克隆 repo 的人可以 运行 脚本(如果他们信任你,或者已经检查过脚本并且确信它是安全的)。

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