更改以前提交的作者姓名:快速

我最近在GitHub上开了一个回购。 我是Git的新手。 和往常一样,我使用默认名称和电子邮件,这是我最好的小白传统,发现了五次提交太迟。 现在乐趣开始了,因为我开始搜索如何更改这些提交的作者和提交者名称的信息。 精细。 我基本上找到了以下信息和许多副本:

  • http://help.github.com/change-author-info/

  • 从Git的分支中删除提交

  • 如何从Git存储库中删除选定的提交日志条目,同时保持其更改?

  • 更改Git中多个提交的作者和提交者姓名和电子邮件

  • 在一个特定的提交中更改提交作者

  • 用Git改变项目的第一次提交?

  • 我可以在以前的所有提交中更改我的名字和姓氏吗?

  • 这个问题似乎并不罕见。 我只能说没有任何解决方案奏效。 其中一半是同一个git filter-branch -f --env-filter脚本的变体。 我试图多次处理该脚本。 问题是,在应用脚本后,我无法推送。 “快进推送拒绝”或类似的东西。 好,唯一的办法就是拉。 拉出后,所有旧信息再次出现+新信息的新分支。 我已经坐在这里有四个分支,以最令人震惊的方式合并,所有这些分支都包含与不同作者姓名相同的信息,包括我想删除的信息。

    可以简化它,我也尝试删除选择的提交,这会产生我无法解决的毛病冲突(如何?),并将一些提交操作压缩为具有正确作者信息的提交导致当前项目状态被破坏。 更好的是,在执行git rebase -i之后,我有时会遇到分段错误,我在此通知:http://lists-archives.org/git/729800-rebase-i-segmentation-fault-and-another-problem .html完全合乎逻辑。 唯一(幸好)工作的是git rebase --abort ,它多次拯救了我的屁股。

    我希望我的挫败感不会排斥,而是请你逗乐并激励你帮助我。 我想要:

  • 最后删除所述作者信息

  • 奖励:去除包含相同信息的所有分支。

  • 但是如果在不破坏当前状态的情况下删除过去的分支的障碍对于git新手来说太过分了,我也会对第一个分支感到满意。 提前致谢。


    问题是,在应用脚本后,我无法推送。 “快进推送拒绝”或类似的东西。

    如果您尝试修改历史记录,则无法避免此问题。 Git拒绝推送,因为它会导致数据丢失; 在这种情况下,数据是旧的作者。 你只需要用--force标志进行git push ,告诉它你确定你在做什么。

    Git中的混乱可能是一个需要解决的难题。 如果master是一团糟,我通常只是回头看看历史,用git checkout HEAD~直到我回到一个不太可怕的时代。 然后,我会git branch --force master重置master git branch --force master一点。 最后,我用git branch -D badBranch删除所有凌乱的分支。

    小心。


    如果没有人还没有跟随你的回购,那么简单地修改你的本地回购,并强制推送到GitHub。 接受任何尴尬。 我已经(重新)以类似的方式建立一个数周的回购协议。

    如果它是一个学生项目,讲师已经把它拉出来,这会更棘手 - 只是为了让你体会到好管理的价值;-)

    链接地址: http://www.djcxy.com/p/49881.html

    上一篇: Change author name of previous commits: Fast

    下一篇: How do I remove an author from a git repository?