【发布时间】:2018-11-06 19:13:21
【问题描述】:
我在 git 中创建了多个注释的多个提交,我想知道是否可以在 git 中将多个提交变为单个提交,如果可以,我们通常使用什么命令?
pick xxx1 msg1
pick xxx2 msg2
pick xxx3 msg4
pick xxx5 msg5
pick xxx6 msg6
我想将其更改为 1 次提交,仅包含 1 条评论
【问题讨论】:
标签: git
我在 git 中创建了多个注释的多个提交,我想知道是否可以在 git 中将多个提交变为单个提交,如果可以,我们通常使用什么命令?
pick xxx1 msg1
pick xxx2 msg2
pick xxx3 msg4
pick xxx5 msg5
pick xxx6 msg6
我想将其更改为 1 次提交,仅包含 1 条评论
【问题讨论】:
标签: git
使用squash 或fixup 将提交合并在一起。 Fixup 丢弃提交消息并将更改添加到先前的提交中,squash 连接消息。
【讨论】:
假设您的提交历史如下所示:
X <- A <- B <- C <- D(master)
您想将A、B、C、D 只提交一次Y,如下所示:
X <- Y(master)
确保您处于工作目录的干净状态,然后键入:
git reset X
现在历史看起来像:
X(master)
但是您的工作目录包含提交 D 的内容。
现在你可以敲定了:
git add . -Av
git commit -m "just a big message"
【讨论】: