別のブランチにあるバージョンがあるとしましょう。
- 主人
- v1
- v2
SVN を使用したワークフローでは、マスターでバグを修正してから v1 と v2 にマージしました。新しい機能は、次のバージョン (v3) が作成されるまで待つ必要があります。
これは、SVN から GIT への変換後の外観です。
---v2----v2----v2
/
M----M----M----M----M----M----M----M----M----M
\
v1----v1----v1----v1---v1---v1
M はマスター、v1 と v2 はバージョン ブランチです。
ここで、誰かがコミット "c" と "c1" を master にプッシュするとします。
---v2----v2----v2 c1---c1---c1
/ / \
M----M----M----M----M----M----M----M----M----M---c---c---c---c---c--c
\
v1----v1----v1----v1---v1---v1
「c」および「c1」コミットを含むブランチの一部をどのように v1 にコピーしますか?
期待される結果:
---v2----v2----v2 c1---c1---c1
/ / \
M----M----M----M----M----M----M----M----M----M---c---c---c---c---c--c
\ c1---c1---c1
\ / \
v1----v1----v1----v1---v1---v1---c---c---c---c---c--c
チェリーピックを使用すると、単一のコミットを選択して、いつでも再適用できることがわかりました。リベースは私が望むことをしていると思いますが、リベースの引数に迷っています。
これは私がそれがうまくいくと思う方法です:
すべてをローカル リポジトリにプルする
c+c1 コミットを v1 または v2 にリベースします
「中央」リポジトリにプッシュします
また、私たちにとってうまくいく別のワークフローの代替案があれば、私は本当に提案を受け入れます.