回答編集履歴

1

推敲

2024/04/30 22:08

投稿

ikedas
ikedas

スコア4441

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ブランチ先頭に元のコミット1.と3.が squashされたものがある状態になります。その後、
15
+ この時点でtmpブランチは、先頭に元のコミット1.と3.が squashされたものがあるがマージコミット2.を含まない状態になります。その後、
16
16
  ```
17
17
  git checkout feature/test-1 # 作業ブランチに戻る
18
- git reset --hard HEAD~2 # マージコミット2.とコミット1.を消す
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