マスターから2つのブランチがあります。
昨日のコミットをwssからv2.1にコピーする方法はありますか?
以下をマージすることで、これをすべて実行できるワークフローが本当に必要です。
- x - x - x (v2) - x - x - x (v2.1)
\
x - x - x (wss)
されるすべてあなたがしなければならないので、git checkout v2.1
とgit merge wss
。何らかの理由でこれを実際に行うことができず、git rebaseを使用してwssブランチを適切な場所に移動できない場合、どこかから単一のコミットを取得して他の場所に適用するコマンドはgitcherry-pickです。適用するブランチをチェックアウトして、を実行するだけgit cherry-pick <SHA of commit to cherry-pick>
です。
リベースがあなたを救うかもしれないいくつかの方法:
あなたの歴史がこのように見える場合:
- x - x - x (v2) - x - x - x (v2.1)
\
x - x - x (v2-only) - x - x - x (wss)
git rebase --onto v2 v2-only wss
wssをv2に直接移動するために使用できます。
- x - x - x (v2) - x - x - x (v2.1)
|\
| x - x - x (v2-only)
\
x - x - x (wss)
その後、マージできます!本当に、本当に、本当にマージできるポイントに到達できない場合でも、リベースを使用して、一度に複数のチェリーピックを効果的に実行できます。
# wss-starting-point is the SHA1/branch immediately before the first commit to rebase
git branch wss-to-rebase wss
git rebase --onto v2.1 wss-starting-point wss-to-rebase
git checkout v2.1
git merge wss-to-rebase
注:これを行うために追加の作業が必要になる理由は、リポジトリに重複するコミットが作成されるためです。これは本当に良いことではありません-簡単な分岐とマージの全体的なポイントは、コミットを1つの場所にして、必要な場所にマージすることですべてを実行できるようにすることです。コミットが重複しているということは、これら2つのブランチをマージしないという意図を意味します(後で実行することにした場合は、競合が発生します)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加