gpt4 book ai didi

git - 更改以前提交的作者姓名 : Fast-forward pushes rejected

转载 作者:太空狗 更新时间:2023-10-29 13:01:49 24 4
gpt4 key购买 nike

我最近在 GitHub 上打开了一个存储库。我是 Git 的新手。与新来者一样,我使用默认名称和电子邮件提交,我按照最好的菜鸟传统,发现了五次提交,为时已晚。现在有趣的事情开始了,因为我开始搜索有关如何更改这些提交的作者和提交者姓名的信息。美好的。我基本上找到了以下信息和大量副本:

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

  2. Delete commits from a branch in Git

  3. How to remove selected commit log entries from a Git repository while keeping their changes?

  4. Change the author and committer name and e-mail of multiple commits in Git

  5. Change commit author at one specific commit

  6. Change first commit of project with Git?

  7. Could I change my name and surname in all previous commits?

这个问题似乎并不少见。我只能说没有一个解决方案有效。其中一半是相同 git filter-branch -f --env-filter 脚本的变体。我尝试多次处理该脚本。问题是应用脚本后,我无法推送。 “快进被拒绝”或类似的东西。好吧,继续前进的唯一方法就是 pull 。 pull 后,所有旧信息又出现了+带有新信息的新分支。我已经坐在这里,有四个分支,以最令人震惊的方式 merge ,所有分支都包含相同的信息,但作者姓名不同,包括我想删除的那个。

好吧,简而言之,我还尝试删除选定的提交,这会产生我无法解决的令人毛骨悚然的冲突(如何???),并将一些提交压缩为具有正确作者的新提交信息,这会导致当前项目状态被破坏。更好的是,我在执行 git rebase -i 后有时会遇到段错误,我在这里得到通知:http://lists-archives.org/git/729800-rebase-i-segmentation-fault-and-another-problem.html是完全合乎逻辑的。唯一(谢天谢地)起作用的是 git rebase --abort,它多次救了我的命。

我希望我的挫败感不会排斥你,而是让你开心并激励你帮助我。我想:

  • 最终删除上述作者信息

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

但是我对第一个也很满意,如果删除过去的分支而不破坏当前状态的障碍对于 git 新手来说太多了。提前致谢。

最佳答案

The problem is that after applying the script, I cannot push. "Fast-forward pushes rejected" or something like that.

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

Git 中的困惑问题很难解决。如果 master 是一团糟,我通常会使用 git checkout HEAD~ 回溯历史,直到我回到事情并不糟糕的时候。然后我 git branch --force mastermaster 重置到那个点。最后,我使用 git branch -D badBranch 删除了所有杂乱的分支。

小心。

关于git - 更改以前提交的作者姓名 : Fast-forward pushes rejected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221132/

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