我使用git-am在我的存储库顶部应用了一个开源项目的diff文件:
git am -3 < /Downloads/refactorWork.diff
Run Code Online (Sandbox Code Playgroud)
但它有冲突,我必须解决它们; 但在解决冲突和分期之后,当我做了git am - 继续我得到了:
fatal : empty ident name (for <>) not allowed
Run Code Online (Sandbox Code Playgroud)
我在互联网上查了一下,发现这似乎与我的问题相似,但我的用户名和电子邮件已经在全局和本地git目录中添加了.这是git配置列表的输出:
rohan@~/Documents/libo : $ git config --global --list
user.email=rohankanojia420@gmail.com
user.name=Rohan Kumar
alias.l=log --oneline --graph --pretty
credential.helper=cache
Run Code Online (Sandbox Code Playgroud)
虽然我通过首先提交阶段性更改然后使用来解决这个问题git am --skip,但我有兴趣知道该错误意味着什么,以及我所做的是正确的做法,还是有更好的方法?
Vam*_*ire 26
这个差异文件是一个简单的差异,而不是由生成的东西git format-patch.一个format-patch产生差异包含有关提交作者,作者日期,提交信息资料,......并创建提交(S)时保留此信息.
你的普通差异没有这些信息,所以git am会抱怨它自然缺失.
你应该使用git apply那个意图应用简单的补丁文件,就像你在这种情况下一样,它只会将补丁应用到工作树(如果你告诉它,还有索引),但不会自动创建任何提交.