寄稿者のリモートリポジトリ上に小さなトピックブランチがあり、マスターの上に適用したい。Git:リベースを使用してトピックブランチを適用する(マージなし)
git merge contributor/topic-branch
しかし、私はコミットをしていたいのですが一つ一つの代わりにマージコミットの生成を適用:私はこれを行うための標準的な方法があると思います。
私のマスターをにトピックブランチに適用しているので、ネイティブ実行git rebase contributor/topic-branch
は明らかに動作しません。トピックブランチが自分のアップストリームであるかのように。
git rebase master contributor/topic-branch
そして、これは、今、私が切り離さHEADを持っている、と私はHEADを指すようにmasterブランチを修正する必要があります(使用してbranch -f
)を除いて、私が欲しいものを行います。だから私はこれを試してみました。私はもちろんこれを自動的に行うためのBash関数を書くことができますが、merge
を使わずにトピックブランチを引き出すための「適切な」方法がありますか?これは、ローカルブランチのための問題を解決し
git checkout topic-branch
git rebase master
git checkout master
git merge topic-branch
:どの程度
ええ、トラッキングブランチの場合は、まずローカルブランチにコピーしてから、それを削除する必要があります。バッシュ関数にすべてをラップすると、実際には使えるかもしれません。 –
@Jo Liss no!それはすべての重要なテストステップを欠場する!リベースをテストして、壊れたコミットをマスターにマージしないようにする必要があります。これは、基本的に2段階のプロセスです。1.トピックを再分類し、それが機能することを確認する。 2.トピックをマスターに早送りする。ワンステッププロセスにするのは危険です。なぜなら、トピックのブランチがリベース後に機能することを確認する品質管理の手順が間違っているからです。 –
'git merge remote/branch'にも同じことは適用されませんか?私は実際に(しかし、私がプッシュする前に)、そして事態がうまくいけば、 'rebase -hard origin 'で後退していることを恐れて快適にテストしています。 –