在 GitHub 分支上进行变基

14

假设我按照以下步骤操作:

  • fork某个项目,创建一个主题分支
  • 将该分支推送到GitHub上
  • 请求从该分支向原始项目进行拉取

然而,我得到了一些改进代码的评论。

  • 我修复了代码,进行了提交
  • 重新基于分支以压缩旧的提交

问题是,我无法再将其推送到GitHub上的主题分支。

那么,最好的处理方式是什么呢?

1个回答

16

在变基之后,你不能简单地在分叉的仓库上添加新的提交(因为在变基过程中重新播放了这些提交,改变了它们的SHA1),你必须强制推送:

git push -f

然后重新提交您的拉取请求。

这是可以的,因为还没有人克隆您的存储库并开始使用您的分支。

如果该分支已经被使用,请按照该博客文章的指示操作:

重要提示:如果您已经将提交推送到GitHub,然后在本地压缩它们,您将无法再次将同一分支推送到GitHub。
创建一个新分支--例如100-retweet-bug-squashed100-retweet-bug-rc1(用于第一个发布候选版)-- 并在那里压缩您的提交。
一切都准备好并压缩完毕后,将新的压缩分支推送到GitHub并向Gina发送您的拉取请求。


2
值得注意的是,任何关于原始 Github 拉取请求的讨论都将不会在新的拉取请求中显示。 - sym3tri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接