【发布时间】:2015-10-17 20:30:25
【问题描述】:
初始场景:
A (master)
\
B - C - D (development)
合并后我想要什么--squash:
A - E (master/development)
\ /
B - C - D
在分支master,git log 将是
commit E
Squashed commit of the following:
commit D
commit C
commit B
commit A
继续开发分支development:
A - E (master)
\ / \
B - C - D F - G - H (development)
再次与壁球合并:
A - E - I(master/development)
\ / \ /
B - C - D F - G - H
在分支master,git log 将是
commit I
Squashed commit of the following:
commit H
commit G
commit F
commit E
Squashed commit of the following:
commit D
commit C
commit B
commit A
在分支development,git log 将是
Commit I
Commit H
Commit G
Commit F
Commit E
Commit D
Commit C
Commit B
Commit A
我想与master 上压缩的提交合并,同时保留development 上的每个提交。
我不知道如何实现它。我的问题是我不知道如何在第一次合并中使D 指向E,而I 将包含B,C,D,E,F,G,H 而不是仅F,G,H。
【问题讨论】:
-
为什么要这样做?这似乎使历史变得更加复杂。此外,您的日志结果也不会像您想象的那样。
master的日志将显示所有提交。
标签: git merge git-squash