私のチームでのワークフローは次のとおりです。
- いつでも複数のアクティブなブランチがあります。
v4
開発は、アプリケーションの 2 つの異なるバージョン (たとえば、まもなくリリースされるバージョンとv5
、遠い将来にリリースされる予定のバージョン) に対して、2 つ以上のブランチに並行して着地します。私たちは定期的に にマージv4
しv5
ます。 v4
またはで直接作業する人はいません。私たちはフォーク内のフィーチャー ブランチで作業し、アップストリームまたは(Atlassian Stash を使用) をv5
指すプル リクエストを作成します。v4
v5
私が新しい開発を作成するとしましょう。新しいブランチを作成します。
git checkout -b SOMETHING_FOR_V4 v4
今、私はにいSOMETHING_FOR_V4
ます。私はコミットしてプッシュします:
git push -u origin SOMETHING_FOR_V4
リモート追跡ブランチを設定した-u
ので、次に何かを更新するときは、git push
ブランチを指定せずに実行でき、Git はプッシュ先を認識します。
しかし、時間が経ち、リベースしたいと思っています。
はっきりと伝える必要がありますgit rebase origin/v4
逆に、origin/v4
ブランチの作成時にトラッキング ブランチを設定することもできますが、プッシュするgit push origin SOMETHING_FOR_V4
たびに毎回言わなければなりません。
私が望んでいるのは、Git がリベースする必要があることを十分に認識できるようにすることです。git rebase
を行った後に言ったらgit push -u
、プッシュ時に指定したリモート追跡ブランチが必要になりますが、これは私が望んでいるものではありません。
基本的には、別の追跡ブランチ(最初にプッシュするもの)と別の追跡ブランチgit push
(最初にリベースするか、開始した [1] に依存するもの) を使用したいと考えています。git rebase
v4
v5
この種の動作を取得することは可能ですか?
または、自分が「近い」か、v4
またはv5
(エイリアスでフェッチとリベースを自動化することを考えています)かどうかを確認するには、どのコマンドを使用しますか?
v4
[1]このシナリオでは、たとえば、またはそのリモートから始めたものの上にリベースできますorigin/v4
。自分で同期を維持できるv4
としましょう。origin/v4