当前位置:  开发笔记 > 开发工具 > 正文

git:不允许使用空标识名(对于<>)

如何解决《git:不允许使用空标识名(对于<>)》经验,为你挑选了1个好方法。

我使用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,但我有兴趣知道该错误意味着什么,以及我所做的是正确的做法,还是有更好的方法?



1> Vampire..:

这个差异文件是一个简单的差异,而不是由生成的东西git format-patch.一个format-patch产生差异包含有关提交作者,作者日期,提交信息资料,......并创建提交(S)时保留此信息.

你的普通差异没有这些信息,所以git am会抱怨它自然缺失.

你应该使用git apply那个意图应用简单的补丁文件,就像你在这种情况下一样,它只会将补丁应用到工作树(如果你告诉它,还有索引),但不会自动创建任何提交.


由于有问题的补丁有blob,它是针对注释创建的 - 假设你的存储库中有这些blob - 你可以使用`-3`回退到三向合并,最终导致带有冲突标记的文件你解决了.除此之外,您可以使用`--reject`来应用适用的帅哥,并为不适用于审核并手动申请的帅哥创建`.rej`文件.没有任何选项,如果某些事情不适用,那么`apply`会使整个补丁失败,这是正确的.但内部`git am`也使用`git apply`.
我不认为你正确使用它.如果使用"Create Patch Serial"并单击"OK",它会使用`format-patch`来创建补丁,如果使用"Apply Patch Serial",它会使用`am`来回放补丁.如果您使用"创建补丁序列"并使用"自HEAD保存统一差异",它会创建一个普通差异,可以通过右键单击补丁文件并使用"查看/应用单个补丁"来播放.即使你只有一个`format-patch`生成的补丁文件,你也应该使用"Apply Patch Serial".
推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有