2

リモートに 3 つのブランチ (master、development、featurebranch) があります。私が望んでいたのは、 branch1をプッシュするときに、それを開発ブランチまたは任意の種類のブランチにプッシュしようとすることです。私はこのようにすべきことの例を見てきました

git push origin local_name:remote_name

しかし、試してみると、Git は自動的にローカル ブランチをリモート ブランチにマージします。そのブランチでプルリクエストをしたかったのです。GitHub には、マージしたいブランチを切り替えて選択できる便利な機能があります。

github でのブランチ選択

しかし、自分のブランチをリモート ブランチにプッシュするときに、ベース ブランチが指定したリモート ブランチに設定される方法はありますか?

4

1 に答える 1

1

しかし、自分のブランチをリモート ブランチにプッシュするときに、ベース ブランチが指定したリモート ブランチに設定される方法はありますか?

つまり、次のことを避けます。

x--x--x (branch1)                         x--x--x
                          ==> push ==>           \
          y--y--y (origin/remote-name)   y--y--y--M

しかし、むしろ得ます:

                                     y--y--y--x--x--x

これは、プッシュする前に、branch1が の上にリベースされているorigin/remote_name場合にのみ可能です:

git fetch origin
git checkout branch1
git rebase origin/remote_name
git push branch1:remote_name

私たちのシナリオは、マスター ブランチのようなものです。ライブ アプリとしましょう。欠陥を見つけるたびに、修正ブランチ (開発ブランチから分岐する必要があります) を作成し、修正を作成して、最初に修正ブランチを開発ブランチにプッシュします。テストと QA が行われる場所です。ファイナライズしたら、マスターにプッシュバックします。

あなたの場合、リベースして別のブランチにプッシュする必要があります。これは 別の開発努力、継続的な修正の 1 つを表しているdevためです。dev

(prod)の上に 1 つずつ統合するホット フィックスを表すリリース ブランチを作成します。master

バグが表示されるたびに:

  • そのためのブランチを作成しbug
  • バグを修正する
  • の上にバグブランチをリベースしますrelease_branch
  • bugQA がレビューするためにブランチをプッシュする
  • 確認したら、プッシュしますmaster
于 2013-11-29T19:44:00.780 に答える