重命名 GitHub 中的提交消息


*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

没有对 dev-abc 分支进行其他更改。所以这是一个简单的快进合并。

此时,图形如下所示。

*commit N+20 <-- branch fb/abc, dev-abc(HEAD)  [most recent]
.
.
*commit N <-- origin/dev-abc
.
.

现在,我将所有这些更改推送到远程

此时,在创建拉取请求时,我在其中一个文件中遇到了合并冲突。(为什么??

无论如何,我解决了 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
.
.

我也有一些尚未提交的更改。他们甚至不在集结区。

我应该采取的正确步骤顺序是什么?所以,我不会丢失任何工作并更改提交消息?

git commit --amend命令允许您更改最新的提交消息。

我将向您解释如何重命名推送和未推送提交。

对于推送提交: 导航到存储库。

修改最新推送提交的消息:

git commit--amend -m "New commit message."

强制推送以更新远程存储库的历史记录:

git push --force branch-name

导航到终端中的存储库目录。

运行以下命令以修改(更改(最新提交的消息:

git commit --amend -m "New commit message."

该命令的作用是用新提交覆盖最近的提交。

-m选项允许您在不打开编辑器会话的情况下在命令行上编写新消息。

在更改提交消息之前,您还可以添加以前忘记的其他更改:

git add .git commit --amend -m "New commit message."

最新更新