【发布时间】:2021-05-11 08:03:20
【问题描述】:
我有一个关于开源存储库的拉取请求,其中包含一个提交,例如commit a。现在有人要求我更改该提交中的一些代码。
如果我在我的 Android Studio 中打开该分支并更改请求的代码,然后如果我再次提交,将会有两次提交。我想更改代码并且在我的拉取请求中只有一个提交。
我尝试过的事情:
我尝试将 HEAD 重置为 git reset HEAD~2 --soft 的初始提交
然后是git commit -a -m "combined commit message",但是当我将此分支推送到我的远程存储库时,会出现一个弹出窗口,上面写着"This branch has conflicts with the remote branch which need to be resolved",带有选项merge和rebase。我知道那是什么意思。这是因为我正在更改远程分支中的相同代码。所以我想rebase。然后有一个收到的 commit a。然后我再次运行git reset HEAD~2 --soft 并再次运行git commit -a -m "I have received the commit and I am combining these two commits again",但是当我再次推送它时,会出现相同的弹出窗口。
有什么帮助吗?如何更改相同的代码并在该拉取请求中仍然有一个提交?
【问题讨论】:
-
为什么不按原样保留分支,并在合并时压缩?
-
@jonrsharpe 我知道贡献者可以从他们身边“挤压和合并”,但他们仍然希望我从我身边挤压。该怎么做?
-
这能回答你的问题吗? Squash my last X commits together using Git
-
已经试过了。发生冲突。
-
你是说当你推的时候?当然有,你正在改变历史。
标签: android git github version-control pull-request