3

私のチームでのワークフローは次のとおりです。

  • いつでも複数のアクティブなブランチがあります。v4開発は、アプリケーションの 2 つの異なるバージョン (たとえば、まもなくリリースされるバージョンとv5、遠い将来にリリースされる予定のバージョン) に対して、2 つ以上のブランチに並行して着地します。私たちは定期的に にマージv4v5ます。
  • v4またはで直接作業する人はいません。私たちはフォーク内のフィーチャー ブランチで作業し、アップストリームまたは(Atlassian Stash を使用) をv5指すプル リクエストを作成します。v4v5

私が新しい開発を作成するとしましょう。新しいブランチを作成します。

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 rebasev4v5

この種の動作を取得することは可能ですか?

または、自分が「近い」か、v4またはv5(エイリアスでフェッチとリベースを自動化することを考えています)かどうかを確認するには、どのコマンドを使用しますか?

v4[1]このシナリオでは、たとえば、またはそのリモートから始めたものの上にリベースできますorigin/v4。自分で同期を維持できるv4としましょう。origin/v4

4

1 に答える 1