没有用户名的git pull问题

没有用户名的git pull问题,git,Git,我在server-1/repo1上主持了一个第三方项目。 此第三方项目作为ExternalProject添加到repo2 cmake(真实项目)中。报告是我们的工作。我们的构建环境是基于docker的。 在Docker内部,我能够根据repo2 cmake中ExternalProject的配置克隆repo1。然而,外部项目的git pull又名“UpdateCommand”失败了。它失败了,因为我没有在docker中设置git“user.name”和“user.email”。按照我的想法,我不需

我在server-1/repo1上主持了一个第三方项目。 此第三方项目作为ExternalProject添加到repo2 cmake(真实项目)中。报告是我们的工作。我们的构建环境是基于docker的。 在Docker内部,我能够根据repo2 cmake中ExternalProject的配置克隆repo1。然而,外部项目的git pull又名“UpdateCommand”失败了。它失败了,因为我没有在docker中设置git“user.name”和“user.email”。按照我的想法,我不需要在docker中为第三方回购配置git“user.name”etc

git fetch在docker内部工作。 git pull将添加合并提交,这可能就是它需要git“user.name”等的原因。为了避免这种情况,我尝试了

git pull --no-commit,
但仍在讨论这个问题

有人有洞察力吗?Docker内部用户的“用户名”为“User”,Docker用户“User”没有电子邮件

git pull上的
错误

请告诉我你是谁

git config--global user.email“you@example.com"

git config--global user.name“Your name”

设置帐户的默认标识。忽略--全局设置 仅此存储库中的标识

致命:不允许为空的标识名(for)


为了提交,您必须提供您的
姓名和电子邮件ID
,以便将此信息附加到提交中供以后使用

首先运行以下命令:

git config --global user.name "John Doe"
这里约翰·多伊只是一个例子。你必须提供你的名字。然后运行:

git config --global user.email johndoe@example.com
这里的电子邮件ID应该是您的ID。然后尝试使用您的命令


这里的
--全局
是可选的。但是,如果您通过了
--global
选项,则只需执行一次。

如果您想使用
git
作为交付代码的方式,并且可以丢失目标存储库中所做的更改(如果有),则:

if[-e app];然后
cd应用程序
git获取
git重置--硬原点/主原点
其他的
git克隆git_URL应用程序
fi
git pull
意味着如果分支出现分歧,则合并/重新设置分支。这就是为什么
git
希望您指定
user.name
user.email


git reset--hard
though告诉
git
只要切换到指定的提交,不管代价有多大:放弃工作树更改,覆盖未版本的文件(如果它们碍事)。

您只需提供任何名称和电子邮件,s.t.git可以将该信息附加到提交等等。你甚至可以选择“you@example.com还有“你的名字”,谢谢。我看可能没有别的出路了。为了解决这个问题,我在CMAKE中的ExternalProject中添加了GIT_CONFIG选项,并提供了一个虚拟用户名/电子邮件。