我是git的新手。我有很多不必要的提交到我的分支机构。 我想保持文件的当前状态并删除所有提交历史记录。我不介意重置分支机构。最好的方法是什么?
我认为这应该是
git stash
git reset --hard
git pop
git add file
git commit -m 'commit'
git push -f origin
帮助表示赞赏。
答案 0 :(得分:1)
执行所需操作的最佳方式可能首先是将所有本地更改转换为提交。
$ git commit -a -m "work-in-progress"
然后,使用交互式rebase将提交压缩回给定的提交<sha>
之前:
$ git rebase -i <sha>^
交互式rebase会显示一个包含提交列表的编辑窗口。每一个人
您可以指定其中一项操作,例如pick
,squash
,fixup
等。如果为每个提交放置squash
,它们将被挑选并折叠在一起,您将能够编辑提交消息,该消息最初将基于其各自提交消息的连接。
交互式rebase工作流程是git
中非常值得学习的功能之一。