内部脚本中的Git提交失败

时间:2015-11-04 20:22:10

标签: git bash

我编写了以下bash函数,该函数应该使用我的用户名硬编码创建一个提交。是的我知道git config,这只是展示我遇到的问题的最小例子。

# lib.sh
function lock-commit() {
    local commit_author="Varun Madiath <varun@example.com>"
    git commit --author="${commit_author}" "$@"
}

然而,当我运行它时,它给出了下面的错误。直接在命令行上运行该命令不会导致错误。

[vmadiath@magma ac-test]$ source lib.sh
[vmadiath@magma ac-test]$ lock-commit -m "test"

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <vmadiath@localhost.localdomain>) not allowed

鉴于我明确传递了作者,我不需要设置user.emailuser.name配置设置。

知道为什么会这样,以及我如何纠正这种行为。

1 个答案:

答案 0 :(得分:1)

Git记录每次提交的两个细节:作者(这是你要覆盖的)和提交者(这就是它的内容)在你的设置中寻找。)

这允许一个用户代表另一个用户提交更改,同时记录存储库中两个用户的详细信息。