如何在GitHub上提交PR时清除提交历史记录?

时间:2016-10-15 14:42:27

标签: git github visual-studio-2015

我是Git的新手。在GitHub上,我派了第三方项目来做贡献。每次将新PR合并到其主服务器时,我必须更新我的分支以保持最新状态。在我的分叉存储库的主页上,我单击New pull request,交换基础和头叉,创建一个新PR,并将其合并到我自己的副本。

但是,我注意到每次提交PR时,这都会在提交历史记录中创建一个越来越大的提交列表。在提交PR之前或之后,如何将所有这些提交合并为一个?我正在使用Visual Studio 2015。

我想我需要压缩提交,但我不知道如何在VS上做到这一点。

1 个答案:

答案 0 :(得分:0)

您不应该压缩或使用拉取请求,而是将原始仓库的遥控器添加到您的项目中,然后您可以在最新代码的基础上进行重新定位。

 git remote add theirs https://www.github.com/original/project.git
 git fetch theirs

现在在Visual Studio中(或从命令行),您可以右键单击他们的/ master分支,然后选择 rebase到。这将重写您的本地历史记录,并将在其最新代码的基础上重播您的更改。

可能需要强制推送到您自己的github fork,因为在某些情况下,rebasing会导致您的本地git commit-id更改。您可能必须在rebase发生时合并更改,因为它们的最新版本将处于领先地位,您的本地提交将在其最新版本的代码之上重播。

此过程将为您提供最清晰的历史记录,其中包括最新的更改。

如果rebase / force-push让你畏惧,它也可以从他们/ master进行正常的合并到你的本地分支。确保在添加遥控器后从他们的网站上获取最新的更改,然后您可以在Visual Studio中右键单击他们的主分支并选择"合并到"将他们的更改合并到您的本地工作目录中。

相关问题