*commit N+20 <-- (HEAD)branch fb/abc(i made 20 commits in this branch) [most recent]
.
.
*commit N <-- branch dev-abc, origin/dev-abc //created another feature branch from here "fb/abc"
.
.
然后我运行了以下命令:
git checkout dev-abc
get merge fb/abc
开发ABC分支没有进行其他更改。因此,这是一个简单的快进合并。
此时,图形看起来像这样。
*commit N+20 <-- branch fb/abc, dev-abc(HEAD) [most recent]
.
.
*commit N <-- origin/dev-abc
.
.
现在,我将所有这些更改推送到远程仓库
在这一点上,当我创建一个Pull Request时,在其中一个文件中发生了合并冲突。(为什么??)
不管怎样,我在GitHub的解决冲突工具中解决了所有冲突。这在GitHub中创建了一个新的提交,该提交在我的本地副本中不存在。我需要更改此提交的提交消息。我该怎么做?
还有一件事,我在本地进行了两个额外的提交,但我还没有推送它们。每当我尝试推送时,都会出现错误消息,指出我在远端有一些未在本地存在的更改。它建议我先git pull
这些更改(我认为是在GitHub上创建的附加提交(我想要更改其消息的提交))。
*commit N+22 <-- branch dev-abc(HEAD) [most recent] // how the graph appears locally
*commit N+21
*commit N+20 <-- branch fb/abc, origin/dev-abc
.
.
*commit N <-- origin/dev-abc
.
.
我还有一些未提交的更改,它们甚至没有在暂存区中。
我应该采取什么正确的步骤顺序?这样,我就不会丢失任何工作,并且还可以更改提交信息?