我使用git-am在我的存储库顶部应用了一个开源项目的diff文件:
git am -3 < /Downloads/refactorWork.diff
但它有冲突,我必须解决它们; 但在解决冲突和分期之后,当我做了git am - 继续我得到了:
fatal : empty ident name (for <>) not allowed
我在互联网上查了一下,发现这似乎与我的问题相似,但我的用户名和电子邮件已经在全局和本地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
虽然我通过首先提交阶段性更改然后使用来解决这个问题git am --skip
,但我有兴趣知道该错误意味着什么,以及我所做的是正确的做法,还是有更好的方法?
这个差异文件是一个简单的差异,而不是由生成的东西git format-patch
.一个format-patch
产生差异包含有关提交作者,作者日期,提交信息资料,......并创建提交(S)时保留此信息.
你的普通差异没有这些信息,所以git am
会抱怨它自然缺失.
你应该使用git apply
那个意图应用简单的补丁文件,就像你在这种情况下一样,它只会将补丁应用到工作树(如果你告诉它,还有索引),但不会自动创建任何提交.