git创建stash而不需要配置user.email和user.name(git stash--作者?)

git创建stash而不需要配置user.email和user.name(git stash--作者?),git,git-stash,git-config,Git,Git Stash,Git Config,简言之 是否可以创建隐藏(使用git stash create)而不需要配置user.email和user.name?类似于git commit--author选项的东西 某些上下文: 我有几个构建机器,在这些机器上我有一个构建用户。每个人都可以访问中央git存储库。但是,我没有为每个用户配置user.email和user.name;因为他们从不需要做出承诺 在我的一个脚本中,我使用 git stash create (这允许我使用git archive--格式化gtz…我将不告诉您细节;请参

简言之

是否可以创建隐藏(使用
git stash create
而不需要配置
user.email
user.name
?类似于
git commit--author
选项的东西

某些上下文:

我有几个构建机器,在这些机器上我有一个构建用户。每个人都可以访问中央git存储库。但是,我没有为每个用户配置
user.email
user.name
;因为他们从不需要做出承诺

在我的一个脚本中,我使用

git stash create
(这允许我使用git archive--格式化gtz…我将不告诉您细节;请参阅我的)

但是,此命令失败:

*** 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 <macq@chmalap.macqel>) not allowed
Cannot save the current index state
请告诉我你是谁。 跑 git config--global user.email“you@example.com" git config--global user.name“Your name” 设置帐户的默认标识。 Omit--global仅在此存储库中设置标识。 致命:不允许为空的标识名(for) 无法保存当前索引状态
PS:我有git 1.8.4,带有git
-c
标志,可以在命令行上传递配置参数:

git -c user.name=test -c user.email=test@test.com stash create

如果您只想从工作副本中删除任何本地更改,并且确定以后不需要保存任何内容,则可以运行令人不安的危险命令:


这个问题可能比仅使用
git stash create
(该问题适用于
git stash
的任何使用)更为广泛。我回答的问题可能是这个问题的重复。

使用Git 2.21(2019年第1季度,2年多之后),您不必配置
user.email
user.name
Git stash--author?

用户下需要正确配置的用户名/电子邮件。使用ConfigOnly
创建提交现在“
git stash
”(即使它创建提交对象来表示隐藏项)命令不受要求约束

参见。
帮助人:。
(于2019年1月4日合并)

隐藏
:容忍丢失用户身份 “
git stash
”命令坚持使用与“
git commit tree
”和“
git commit
”命令相同程度的可用用户标识,因为它使用与这些命令相同的代码路径来创建提交对象

严格来说没有必要这样做

在创建提交对象之前检查我们是否会呕吐,然后提供假身份以取悦创建提交的机器。
将测试添加到文档中,以确保stash在有有效标识和无有效标识的情况下都能正确执行

这并不是太多的可用性改进,因为运行“
git stash
”的用户最终会希望通过提交将临时存储在存储库中的更改记录在更永久的历史记录中,并且他们必须在此时执行“
git config user.{name,email}
”,因此,可以说,这种更改只是推迟了在存储库中工作所必需的步骤


您也可以使用
GIT\u AUTHOR\u NAME
GIT\u AUTHOR\u EMAIL
(对于
committer
)环境变量
GIT\u提交人\u NAME
GIT\u提交人\u EMAIL
足以让GIT stash正常工作。我看不出这与我的问题有什么关系?@ChrisMaes:它解决了一个问题,您可能会使用
GIT stash
来(删除本地更改),而且它没有要求用户数据的限制。正如我在问题中指出的,我不需要删除我的更改。我真的需要保留它们……如果您可以升级到更新的Git 2.21(2019年第1季度),
Git stash
将允许丢失用户身份。看见
git checkout .