如何将 7 个推送的提交压缩为 git 中的 1 对 1?

How to squash 7 pushed commits into one in to 1 in git?

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

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

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

另一种方法是使用 squash - 我的其他作品 interactive rebase

要进行 git 壁球,请按照以下步骤操作:

# 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

压缩提交后 - 选择 s 进行压缩 = 它将所有提交合并为一个提交。