Git仅显示分支上的文件的当前状态并删除提交历史记录

时间:2016-07-27 22:46:59

标签: git

我是git的新手。我有很多不必要的提交到我的分支机构。 我想保持文件的当前状态并删除所有提交历史记录。我不介意重置分支机构。最好的方法是什么?

我认为这应该是

git stash
git reset --hard
git pop 
git add file
git commit -m 'commit'
git push -f origin 

帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

执行所需操作的最佳方式可能首先是将所有本地更改转换为提交。

$ git commit -a -m "work-in-progress"

然后,使用交互式rebase将提交压缩回给定的提交<sha>之前:

$ git rebase -i <sha>^

交互式rebase会显示一个包含提交列表的编辑窗口。每一个人 您可以指定其中一项操作,例如picksquashfixup等。如果为每个提交放置squash,它们将被挑选并折叠在一起,您将能够编辑提交消息,该消息最初将基于其各自提交消息的连接。

交互式rebase工作流程是git中非常值得学习的功能之一。