如何在不设置全局配置的情况下缩短指定作者进行Git提交的命令?

时间:2015-05-29 18:10:15

标签: git

我正在处理共享服务器上的一些脚本,我需要定期将我的进度提交到Git存储库。由于我登录的服务器和用户都是共享的,因此我不想设置全局用户名和电子邮件,这是每次都不进入提交作者的常见解决方案。如果我没有指定任何作者,Git将根据共享系统的用户名和主机名假设名称,但是提交不会与我联系。我一直用以下命令进行提交来解决这个问题:

  

git commit -m"提交消息" --author =" FirstName LastName"

如何缩短此命令,以便我不必每次都输出作者,但不设置全局配置选项?

1 个答案:

答案 0 :(得分:0)

以下至少有两个选项可以解决这个问题:

设置特定于存储库的选项

让每个使用该计算机的用户自己克隆存储库。然后,每个用户都可以在其存储库副本中设置本地用户名和电子邮件配置选项:

  

git config user.name“FirstName LastName”
  git config user.email“email@domain.com”

只需取消--global选项,即可在存储库的 .git / config 文件中创建 [user] 部分,因此当用户提交时在存储库中,该用户名和电子邮件将附加到提交。

为命令创建别名

您可以为包含作者的提交设置别名:

  

git config --global alias.commitauthorname'commit --author =“FirstName LastName”-m'

然后使用该命令提交:

  

git commitauthorname“提交消息”

如果您不想每次都使用该选项,可以将-m退出别名。

注意:这种方法会导致Git在每次使用时都生成以下消息:

  

您的姓名和电子邮件地址是根据您的用户名和主机名自动配置的。请检查它们是否准确。

此外,使用别名进行的每次提交都会准确设置 author ,但附加到提交的提交者元数据仍将基于用户名和Git找到的主机名。