1

そこで、私はオープン ソース プロジェクトをフォークし、先週、マスターに取り込まれなかったバグ修正を送信しました。別のブランチでその修正を作成し、アップストリームのマスターの上にリベースし、そのブランチからプル リクエストを発行しました。しかし、その後、新しい問題の作業を開始しましたが、元のバグ修正のために作成したブランチから、この新しい問題のブランチを誤って作成してしまいました。

だから今、プッシュアップしてプルリクエストを発行したいブランチの私の直下にそのコミットがあります。アップストリーム/マスターへのすべての更新をフェッチしてマスター ブランチにマージしました。この新しいコミットをリベースして送信したいのですが、古いバグ修正コミットが原因で、リベースしようとすると競合が発生します。

これに対処する最善の方法は何ですか?

4

2 に答える 2

3

(私のコメントで述べたように)解決策は、コミットをソフトリセット(git reset --soft HEAD^)し、それを隠してから、正しい経由にgit stash save切り替えるか、好みの方法または使用する必要がある方法です。HEADrebasecheckout

この後、単純git stash applyにスタッシュから作業を回復する必要があります。

于 2012-12-18T00:21:59.383 に答える
0

最初のブランチをアップストリームとして設定して、2 番目のブランチを master にリベースできます。

git rebase --onto master bad-branch second-bug-fix
于 2012-12-18T00:37:48.913 に答える