我试图作为不同的用户提交一些更改,但我没有有效的电子邮件地址,以下命令对我不起作用:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
Run Code Online (Sandbox Code Playgroud)
尝试仅使用电子邮件地址提交时遇到同样的问题
git commit --author="john@doe.com" -m "some fix"
fatal: No existing author found with 'john@doe.com'
Run Code Online (Sandbox Code Playgroud)
在commit命令的git手册页上,它说我可以使用
standard A U Thor <author@example.com> format
Run Code Online (Sandbox Code Playgroud)
对于--author选项.
这种格式在哪里定义?A和U代表什么?我如何仅使用用户名或仅使用电子邮件为不同的用户提交?
eyk*_*nal 130
正如本SO答案所暗示的那样,所需的最小作者格式是
Name <email>
Run Code Online (Sandbox Code Playgroud)
在你的情况下,这意味着你想写
git commit --author="Name <email>" -m "whatever"
Run Code Online (Sandbox Code Playgroud)
Per Willem D'Haeseleer的评论,如果你没有电子邮件地址,你可以使用<>
:
git commit --author="Name <>" -m "whatever"
Run Code Online (Sandbox Code Playgroud)
如您在链接到的git commit
手册页上所写,如果您提供的内容少于此内容,则会将其用作搜索令牌以搜索先前的提交,以查找该作者的其他提交.
pmr*_*pmr 46
具体格式为:
git commit --author="John Doe <john@doe.com>" -m "Impersonation is evil."
Run Code Online (Sandbox Code Playgroud)
Wil*_*eer 31
该
标准 AU Thor <author@example.com>格式
似乎定义如下:(据我所知,完全没有保修)
AU Thor = 必填用户名
<author@example.com> = 可选的电子邮件地址
如果你不使用这个确切的语法,git将搜索现有的提交并使用包含你提供的字符串的第一个提交.
例子:
只有用户名
明确省略电子邮件地址:
git commit --author="John Doe <>" -m "Impersonation is evil."
Run Code Online (Sandbox Code Playgroud)只有电子邮件
从技术上讲,这是不可能的.但是,您可以输入电子邮件地址作为用户名,并明确省略电子邮件地址.这似乎不是很有用.我认为从电子邮件地址中提取用户名然后将其用作用户名会更有意义.但如果你必须:
git commit --author="john@doe.com <>" -m "Impersonation is evil."
Run Code Online (Sandbox Code Playgroud)我试图将存储库从mercurial转换为git时遇到了这个问题.我测试了msysgit 1.7.10上的命令.
use*_*284 17
该--author
选项不起作用:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Run Code Online (Sandbox Code Playgroud)
这样做:
git -c user.name='A U Thor' -c user.email=author@example.com commit
Run Code Online (Sandbox Code Playgroud)
qin*_*ian 10
只是补充?
git commit --author =“ john@doe.com” -m“冒名顶替是邪恶的。”
在某些情况下,提交仍会失败,并显示以下消息:
***请告诉我你是谁。
跑
git config --global user.email“ you@example.com” git config --global user.name“您的名字”
设置您帐户的默认身份。省略--global仅在此存储库中设置身份。
致命:无法自动检测电子邮件地址(获取xxxx)
因此,只需运行“ git config”,然后运行“ git commit”
格式
A U Thor <author@example.com>
Run Code Online (Sandbox Code Playgroud)
只是意味着你应该指定
FirstName MiddleName LastName <email@example.com>
Run Code Online (Sandbox Code Playgroud)
看起来中间名和姓氏是可选的(可能是电子邮件之前没有严格格式的部分).试试这个,例如:
git commit --author="John <john@doe.com>" -m "some fix"
Run Code Online (Sandbox Code Playgroud)
正如文档所说:
--author=<author>
Override the commit author. Specify an explicit author using the standard
A U Thor <author@example.com> format. Otherwise <author> is assumed to
be a pattern and is used to search for an existing commit by that author
(i.e. rev-list --all -i --author=<author>); the commit author is then copied
from the first such commit found.
Run Code Online (Sandbox Code Playgroud)
如果你不使用这种格式,git会将提供的字符串视为模式,并尝试在其他提交的作者中查找匹配的名称.
git -c "user.name={{ name }}" -c "user.email={{ email }}" commit -m "{{ message }}"
Run Code Online (Sandbox Code Playgroud)
其中 {{ }} 表示您输入的值
归档时间: |
|
查看次数: |
107718 次 |
最近记录: |