我有一个repo/.git/config
包含定义别名的文件的存储库。
有没有一种方便的方法可以在命令repo-clone/.git/config
生成的文件中导入这些别名git clone repo repo-clone
?
这两个存储库位于不同的设备上,所以我不能使用这个解决方案,它使用全局配置文件($HOME/.gitconfig)。
编辑
我找到了一个新答案,与克隆时导入别名的这种特殊情况更相关,请参阅下面的评论。
您不能仅仅作为克隆的自动结果在目标 repo 的配置中设置别名。这样的功能很容易被滥用,因为这意味着我可以通过让你克隆我的 repo 并让它设置一个你不期望的别名来欺骗你运行我选择的任意代码。重新可能使用。
“但是,Mark,别名不能覆盖内置的 git 命令。”
好的,但如果我试图传播某种恶意软件,我可能只需要在某些时候愚弄一些人。很多人都有一个“co”别名,或者当他们的意思是“checkout”时,他们很难输入“chekcout”;所以我可以给这样的东西起别名。您可能不想盲目地从clone
您可能执行的任何旧操作中接受这些配置。
您可以创建一个脚本来设置别名配置并将其包含在您的存储库中。然后克隆 repo 的人可以运行脚本(如果他们信任你,或者已经检查过脚本并且对它的安全感到满意)。
对于受信任的存储库,您甚至可以设置一个挂钩以在结帐时运行或其他东西,以便可以在存储库内容更改时更新别名配置。同样,是否实际配置此钩子取决于本地用户,这是安全所必需的。