Github Git-从历史记录中删除提交,但不保存代码
我在VS2019上使用gitGithub Git-从历史记录中删除提交,但不保存代码,github,commit,Github,Commit,我在VS2019上使用git 我想知道是否有一种方法可以删除旧的提交,但始终保留最新的代码。原因是,当我处理一个大的更改时,我会在检查每一个小步骤后进行大量提交,但最后,当我单击查看历史记录并需要搜索一个旧的提交以比较更改时,这很烦人。我想删除特定的提交,但保留更改。这样,我将在历史上只看到发展进程的主要里程碑。有一种方法可以做到这一点???您似乎想要git的rebase功能 如果知道要压缩多少个提交,可以使用 git rebase -i HEAD~N 您也可以在交互模式下执行此操作: git
我想知道是否有一种方法可以删除旧的提交,但始终保留最新的代码。原因是,当我处理一个大的更改时,我会在检查每一个小步骤后进行大量提交,但最后,当我单击查看历史记录并需要搜索一个旧的提交以比较更改时,这很烦人。我想删除特定的提交,但保留更改。这样,我将在历史上只看到发展进程的主要里程碑。有一种方法可以做到这一点???您似乎想要git的rebase功能 如果知道要压缩多少个提交,可以使用
git rebase -i HEAD~N
您也可以在交互模式下执行此操作:
git rebase --interactive HEAD~N
请注意,如果您已经推送,则下一次推送可能会遇到问题
有关更多详细信息,请参阅:您似乎想要git rebase功能 如果知道要压缩多少个提交,可以使用
git rebase -i HEAD~N
您也可以在交互模式下执行此操作:
git rebase --interactive HEAD~N
请注意,如果您已经推送,则下一次推送可能会遇到问题
有关更多详细信息,请参阅:您可以遵循类似于“”的工作流 对于相同步骤的增量改进提交,请使用
git commit--fixup small step
,它允许您“在检查每个小步之后执行大量提交”
(您可以在中看到它)
但最后,您可以使用git-rebase--interactive--autosquash
清理所有这些小步骤(假设您还没有推动这些提交)
这样,您的历史记录就更清晰了。您可以遵循类似于“”的工作流 对于相同步骤的增量改进提交,请使用
git commit--fixup small step
,它允许您“在检查每个小步之后执行大量提交”
(您可以在中看到它)
但最后,您可以使用git-rebase--interactive--autosquash
清理所有这些小步骤(假设您还没有推动这些提交)
这样,您将拥有一个更清晰的历史记录。在这些场景中,您似乎在开发一个新功能,在这种情况下,您应该使用分支+拉请求的方法进行开发。在pull请求期间,可以执行挤压合并。它不全在命令行中,但这可能是最好的
如果您已经在一个功能分支中工作,那么我喜欢的方法。在这些场景中,您似乎正在开发一个新功能,在这种情况下,您应该使用分支+拉请求的方法进行开发。在pull请求期间,可以执行挤压合并。它不全在命令行中,但这可能是最好的
如果您已经在一个功能分支中工作,那么我喜欢的方法。我如何在visual studio中完成它?不幸的是,我没有VS方面的经验。我能做的最好是向您指出Microsoft的文档:我如何在visual studio中完成它?不幸的是,我没有VS方面的经验。我所能做的就是向您指出Microsoft提供的文档:和