简称
是否有可能创建存储(使用git stash create
)而不需要配置user.email
和user.name
?类似于git commit --author
选项的东西?
一些背景:
我有几台构建机器,我有一个构建用户。每个人都可以访问中央git存储库。但是,我没有为每个用户配置user.email
和user.name
;因为他们永远不需要提交。
在我的一个脚本中,我使用
git stash create
(允许我使用git archive --format-gtz ...我会为你省略细节;见related question)
但是此命令失败:
*** 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
PS:我有git 1.8.4
答案 0 :(得分:14)
使用git -c
标志可以在命令行上传递配置参数:
git -c user.name=test -c user.email=test@test.com stash create
答案 1 :(得分:3)
使用Git 2.21(2019年第一季度,超过2年后),您无需配置user.email
和user.name
(git stash --author ?
)。
在user.useConfigOnly
下需要正确配置的用户名/电子邮件才能创建提交; 现在“ git stash
”(即使它创建提交对象来表示隐藏条目)命令也不受此要求。
请参见commit 3bc2111的Slavica Djukic (``)(2018年11月18日)。
帮助者:Junio C Hamano (gitster
)。
(由Junio C Hamano -- gitster
--在commit 1328d29中合并,2019年1月4日)
stash
:容忍丢失的用户身份“
git stash
”命令坚持使用与“git commit-tree
”和“git commit
”命令相同程度的可用用户身份,因为它使用与创建提交对象作为这些命令。并非绝对必要这样做。
在创建提交对象之前检查我们是否会否驳倒,然后提供伪造的身份来取悦创建提交的机器。
在没有有效标识的情况下,将测试添加到文档中,表明存储可以正确执行。这并不是可用性方面的很大改进,因为运行“
git stash
”的用户最终希望通过提交来将存储在存储在临时存储中的更改记录为更永久的历史记录,因此他们必须无论如何都是“git config user.{name,email}
”,因此可以说,这一更改只会延迟在存储库中工作所需的步骤。
答案 2 :(得分:0)
如果您只想从工作副本中删除任何本地更改,然后确定没有需要保存的内容以后再使用,则可以运行非常危险的 >命令:
git checkout .
这个问题可能比git stash create
更为广泛(该问题适用于git stash
的任何使用)。我回答的问题可能是这个问题的重复。