Git:在本地重基/挤压后覆盖远程功能分支上的多个提交 我在otherusername/X将GitHub回购转给了我自己在myusername/X的账户 我一直在本地开发,并在分支机构myfeature上将提交的提交推送到myusername/X,并提交了将myusername/X myfeature合并到otherusername/X master 在开发过程中,我收到了关于我的开放式拉取请求的反馈,我对myfeature做出了10项承诺。现在开发完成了,我们准备合并了,所以我使用git-rebase-I origin/master将本地提交压缩为单个提交 现在位于myusername/X的myfeature分支有我推送的10个提交,而我的本地myfeature只有一个提交 当我尝试git pushmyfeature,以便myusername/X myfeature将有一个提交,并且可以干净地合并到otherusername/X master,git抱怨我的本地分支在远程分支后面,我需要从远程分支中提取更改。但这将重新创建我刚刚压扁的所有承诺 如何更新myusername/X myfeature分支,使其仅具有一次提交?

Git:在本地重基/挤压后覆盖远程功能分支上的多个提交 我在otherusername/X将GitHub回购转给了我自己在myusername/X的账户 我一直在本地开发,并在分支机构myfeature上将提交的提交推送到myusername/X,并提交了将myusername/X myfeature合并到otherusername/X master 在开发过程中,我收到了关于我的开放式拉取请求的反馈,我对myfeature做出了10项承诺。现在开发完成了,我们准备合并了,所以我使用git-rebase-I origin/master将本地提交压缩为单个提交 现在位于myusername/X的myfeature分支有我推送的10个提交,而我的本地myfeature只有一个提交 当我尝试git pushmyfeature,以便myusername/X myfeature将有一个提交,并且可以干净地合并到otherusername/X master,git抱怨我的本地分支在远程分支后面,我需要从远程分支中提取更改。但这将重新创建我刚刚压扁的所有承诺 如何更新myusername/X myfeature分支,使其仅具有一次提交?,git,github,Git,Github,我可以想象的最简单的方法如下: 您保留本地myfeature,删除远程分支,然后在本地myfeature git push remote :myfeature git push remote myfeature remote in this case is your myusername/X 你可能正在寻求强制推进。e、 g.git推送-f远程myfeature 发生的情况是,当您在本地重新设置基址并挤压提交时,您与远程分支的历史发生了分歧。(例如,你重写了历史)。作为一个专注的功能分支,您

我可以想象的最简单的方法如下:

您保留本地myfeature,删除远程分支,然后在本地myfeature

git push remote :myfeature
git push remote myfeature

remote in this case is your myusername/X

你可能正在寻求强制推进。e、 g.
git推送-f远程myfeature


发生的情况是,当您在本地重新设置基址并挤压提交时,您与远程分支的历史发生了分歧。(例如,你重写了历史)。作为一个专注的功能分支,您是唯一的开发人员,强制推送在这种情况下可能没问题,但是请注意您将发现的关于重写历史和强制推送的许多警告,因为您很容易导致不好的事情发生。

谢谢,我不敢尝试这个方法,因为我担心如果我删除它使用的远程分支,它会以某种方式打乱拉取请求。@sean哪一次拉取?当然,如果您尝试从一个delted remote banch中提取,您将得到一个
远程端意外挂起
,但您为什么要首先提取?我的意思是,远程myfeature分支已经位于myusername/X和otherusername/X之间的提取请求的一端。如果我删除此分支,即使我通过推送一个新分支(使用单提交)立即重新创建它,我是否必须使用新分支重新创建拉请求,从而丢失旧PR的注释/等?