我正在尝试将项目导入启动板,但这失败并显示以下错误:
File "/srv/importd.launchpad.net/production/launchpad-rev-17114/bzrplugins/git/fetch.py", line 119, in import_git_blob
ie = cls(file_id, name.decode("utf-8"), parent_id)
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xca in position 0: invalid continuation byte
因此,我想知道如何在所有提交日志中搜索此“ 0xca”字符并将其删除?用QGit手动查看历史记录不会显示任何异常字符。
您可能可以使用它git log --grep...
来查找错误的提交并手动进行修复(不确定unicode是否可以使用--grep
)。如果有太多无法手动修复的信息,或者您想使该过程自动化,请考虑git filter-branch --msg-filter <command>
通过执行shell命令来使用来修改每个提交消息<command>
。这是一个使用的简单示例--msg-filter
:
mkdir tmp
cd tmp
git init
touch a
git add .
git ci -am 'first commit'
touch b
git add .
git ci -am 'second commit'
git log --oneline
git filter-branch --msg-filter 'sed "s/^/hello /"'
git log --oneline
请参阅此问题,以了解如何填充<command>
将适当更改提交消息中的unicode的命令。
然后,您可以通过运行以下命令检查更改
diff <(git log original/refs/heads/<your-branch> --oneline | cut -d' ' -f 2-) <(git log <your-branch> --oneline | cut -d' ' -f 2-)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句