Rebase on github branch

时间:2011-09-03 13:05:50

标签: git github git-rebase

说我执行以下步骤:

  • fork一些项目,创建一个主题分支
  • 在GitHub推送该分支
  • 请求从该分支拉到原始项目

但是,我得到一些评论来改进代码的内容。

  • 我修改了代码,做了提交
  • Rebase to squash old commits

问题是,我不能再把它推到GitHub上的主题分支了。

处理此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:16)

一旦重新定位,你不能只在forked repo上添加新的提交(因为你在rebase期间重放了这些提交,重写了他们的SHA1),你必须强行推送:

git push -f

然后重新执行拉取请求。

这没关系,因为还没有人克隆你的回购并开始使用你的分支。

如果已使用该分支,请按that blog post

  

重要提示:如果您已经将提交推送到GitHub,然后在本地压缩它们,您将无法再将该分支推送到GitHub。
  创建一个新的分支 - 例如100-retweet-bug-squashed100-retweet-bug-rc1(对于候选发布版1) - 并在那里压缩您的提交。
  一旦所有东西都被压扁并准备就绪,将新压扁的分支推送到GitHub并将您的拉取请求发送给Gina。