6

我已经尝试了多种方法来压缩我的远程 repo 提交,但没有做对。我想把它们全部压扁,做成一个。以下是提交列表。以下是我对上游的拉取请求的摘要(其中列出了 7 个提交)。我只想列出一个而不是 7 个。

在此处输入图像描述

4

2 回答 2

26
git reset --soft HEAD~7
git add --all
git commit
git push --force

首先,将 git index 重置为要压缩的提交之前。使用--soft这样 git 只会重置索引并且不会触及您的工作目录。然后像往常一样创建一个提交。

于 2018-05-12T03:00:07.750 回答
12

另一种方法是使用squash- i other workinteractive rebase

为了做一个 git squash 遵循这些步骤:

# X is the number of commits you wish to squash, in your case 7
# In this interactive rebase there can be more that 7 commits if
# there was a merge in one of them
git rebase -i HEAD~X

一旦你压缩你的提交 - 选择sfor squash = 它会将所有提交合并为一个提交。

在此处输入图像描述

于 2018-05-12T05:17:43.067 回答