更改先前提交的作者姓名:快进推送被拒绝

Hin*_*ton 7 git github

我最近在GitHub上开了一个回购.我是Git的新手.和新手一样,我承诺使用默认名称和电子邮件,我在最好的noob传统中发现了五次提交为时已晚.现在开始有趣了,因为我开始搜索有关如何更改这些提交的作者和提交者名称的信息.精细.我基本上找到了以下信息和很多副本:

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

  2. 从Git中的分支中删除提交

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

  4. 在Git中更改多个提交的作者和提交者名称以及电子邮件

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

  6. 用Git更改项目的第一次提交?

  7. 我可以在之前的所有提交中更改我的姓名吗?

这个问题似乎并不少见.我只能说没有一个解决方案有效.其中一半是同一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新手来说太过分了.提前致谢.

小智 5

问题是在应用脚本后,我无法推送."快进推动被拒绝"或类似的东西.

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

Git中的Messes可能很难解决.如果master是一团糟,我通常会回过头来看历史,git checkout HEAD~直到我回到事情并不可怕的时候.然后我git branch --force master重置到那master一点.最后,我删除了所有凌乱的分支git branch -D badBranch.

小心.


归档时间:

查看次数:

9483 次

最近记录:

11 年,9 月 前