我有应用程序服务器,我使用Chef +一些特别的bash脚本引导在一起。问题是,当我想在这些应用服务器上运行更新时,我得到:

19:00:28: *** Please tell me who you are.

Run

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

我真的需要在每次更新应用服务器时设置简单的git pull origin master吗?是否有任何方法来覆盖这种行为,以便在没有设置姓名和电子邮件时不会出错?


当前回答

我使用Jenkins,在尝试执行释放(需要git提交)时遇到了这个问题。为了解决这个问题,我需要添加一个自定义用户名/电子邮件地址(见图),这确保当代码签出时,它在执行发布时使用我的构建用户名/电子邮件地址。注意,此配置可从Jenkins Multibranch Pipeline项目配置中获得。

其他回答

更新引导过程以创建${HOME}/。使用适当的内容,或者从某个地方复制一个现有的Gitconfig。

而不是做一个git拉,你可以做:

git fetch
git reset --hard origin/master

这两种方法都不需要配置git用户名/电子邮件。

这将破坏任何未提交的本地更改/提交,并将使HEAD指向一个提交(而不是一个分支)。但对于应用服务器来说,这两个都不是问题,因为您不应该进行本地更改或提交到该存储库。

我使用Jenkins,在尝试执行释放(需要git提交)时遇到了这个问题。为了解决这个问题,我需要添加一个自定义用户名/电子邮件地址(见图),这确保当代码签出时,它在执行发布时使用我的构建用户名/电子邮件地址。注意,此配置可从Jenkins Multibranch Pipeline项目配置中获得。

Git pull不需要这个。 然而,如果拉操作导致合并冲突,那么它似乎是必要的。

我有一个错误的错误消息: Git拉在CMD行上工作正常 git拉失败在Perl CGI进程(一个webhook从github自动部署)与上述错误。

做一个git状态识别了一个冲突文件。对它进行排序解决了这个问题。

问题再次发生后,我改变了一些配置设置。

这一次,设置$HOME和$USER环境变量修复了它(在CGI进程中默认不设置)