gpt4 book ai didi

git - 无效的作者/提交者行 - 电子邮件前缺少空格

转载 作者:太空狗 更新时间:2023-10-29 14:07:54 25 4
gpt4 key购买 nike

我有一个 git 存储库,它是使用 git-remote-bzrbzr 存储库克隆的,如下所示: git clone bzr::/repo new-repo.在数百次提交之后,我执行了 git fsck 并且所有 bzr 提交都出现了以下错误:

error in commit 41bf5: invalid author/committer line - missing space before email

当我使用 git cat-file -p 41bf5 检查这些修订时,我确实可以看到作者姓名和电子邮件没有用空格分隔。

我如何为所有错误的提交添加这个缺失的空间?

我可以完全访问服务器上的存储库,因此我可以毫无问题地重写历史记录。修改后,代码的用户将不得不重新克隆存储库。我已经尝试过以下帖子中提出的解决方案,但没有成功:

最佳答案

我的问题的答案来自一位 friend ,他让我代写答案:

  1. 过滤 repo,用以下内容更改虚假作者。请注意,这应该在两行上(通常使用 shift+enter):

    $ git filter-branch --commit-filter 'case "$GIT_AUTHOR_NAME" in
    > *author\<\ email*) GIT_AUTHOR_NAME=author_name; GIT_AUTHOR_EMAIL=author_email;; esac; git commit-tree "$@" '
  2. 由于错误的提交仍在存储库中,git fsck 仍将失败。要摆脱这些提交,请克隆存储库,然后修剪未使用的对象:

    $ git clone badrepo goodrepo && cd goodrepo
    $ git gc --prune=all
  3. 新的存储库是干净的。 git fsck 不返回任何错误。

关于git - 无效的作者/提交者行 - 电子邮件前缺少空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21971941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com