回答編集履歴
1
推敲
test
CHANGED
@@ -5,22 +5,25 @@
|
|
5
5
|
|
6
6
|
ここから1.と3.をまとめるのですね。
|
7
7
|
|
8
|
-
作業用のブランチを作成して途中のコミットを移動させればできるのではないでしょうか。
|
8
|
+
一時的な作業用のブランチを作成して途中のコミットを移動させればできるのではないでしょうか。
|
9
9
|
```
|
10
|
-
git checkout -b tmp 010 # コミット3.を先頭に持つブランチを作成
|
10
|
+
git checkout -b tmp 010 # コミット3.を先頭に持つブランチtmpを作成
|
11
11
|
git cherry-pick 822 # コミット1.を持ってくる
|
12
12
|
git rebase -i HEAD~2
|
13
13
|
# ここで、コミット1.と3.をsquashする
|
14
14
|
```
|
15
|
-
この時点でtmpブランチ
|
15
|
+
この時点でtmpブランチは、先頭に元のコミット1.と3.が squashされたものがあるがマージコミット2.を含まない状態になります。その後、
|
16
16
|
```
|
17
17
|
git checkout feature/test-1 # 作業ブランチに戻る
|
18
|
-
git reset --hard HEAD~2 #
|
18
|
+
git reset --hard HEAD~2 # コミット1.とマージコミット2.を消す
|
19
19
|
git rebase tmp # 元のコミット1.と3.をまとめたものを持ってくる
|
20
20
|
git merge --no-ff develop # マージをやりなおす
|
21
21
|
git branch -D tmp # 変更が終わればtmpブランチは不要なので削除する
|
22
22
|
```
|
23
|
-
で
|
23
|
+
で、次の結果になると思います。
|
24
|
+
1. commit YYY (HEAD -> feature/test-1)
|
25
|
+
Merge: XXXXXXX 603d1ec
|
26
|
+
2. commit XXX (元の1.と3.)
|
24
27
|
|
25
28
|
おかしいところがあったら指摘ください (なお、ブランチのバックアップをとってから試すことをお勧めします)。
|
26
29
|
|