私が取り組んでいる大規模な機能ブランチを台無しにしないようにしようとしています。私は2つのリモコンを持っています:
origin - with branch dev
my - a fork of origin, with my branch dev
したがって、ワークフローは、オリジンをフェッチし、オリジン dev にプルし、そこから分岐し、プッシュアップし、ブランチをオリジン dev にマージすることです。
# On my dev
git fetch origin
... received new stuff...
git pull origin dev
マージされていない他のブランチ機能に依存する機能がありました。だから、私はこれをしました:
# On my dev
git checkout -b first-feature
git checkout -b second-feature-based-on-first-feature
ここからは通常のワークフローに従っています。オリジン dev が更新されると、それに基づいてブランチをリベースします。
git checkout first-feature
git pull --rebase origin dev
git push my first-feature -f
そして、その最初のブランチを 2 番目のブランチの下にプルします。
git checkout second-feature-based-on-first-feature
git pull --rebase my first-feature
git push my second-feature-based-on-first-feature -f
今日、first-feature が origin dev にマージされました。私は、2 つのコミット (first-feature と second-feature) を示した github の second-feature のプル リクエストが、基本的に今 second-feature を表示することを期待していました。しかし、そうではありません。origin dev の 2 番目の機能をリベースしました。すべて問題ないように見えますが、これが心配です。2番目の機能を強制的に押し上げるだけですか?
私はこれが少し具体的であることを知っています。私の質問は次のとおりだと思います:これはどのように機能する必要があり、どこが間違っているのですか? ブランチからブランチを作成するための他の回答に従おうとしましたが、これは非常になじみのない領域であるため、大きな間違いを犯したくありません。