*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"
.
.
Run Code Online (Sandbox Code Playgroud)
然后我运行了以下命令:
git checkout dev-abc
get merge fb/abc
Run Code Online (Sandbox Code Playgroud)
没有对 dev-abc 分支进行任何其他更改。所以这是一个简单的快进合并。
此时,图表如下所示。
*commit N+20 <-- branch fb/abc, dev-abc(HEAD) [most recent]
.
.
*commit N <-- origin/dev-abc
.
.
Run Code Online (Sandbox Code Playgroud)
现在,我将所有这些更改推送到远程
此时,在创建拉取请求时,我在其中一个文件中遇到了合并冲突。(为什么??)
无论如何,我在 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
.
.
Run Code Online (Sandbox Code Playgroud)
我还有一些尚未提交的更改。他们甚至不在集结区。
我应该采取的正确步骤顺序是什么?那么,我不会丢失任何工作,也不会更改提交消息吗?
小智 29
\xc2\xa0 git commit --amend\xc2\xa0 命令允许您更改最近的提交消息。
我将向您解释如何重命名已推送和未推送的提交。
\n\n对于推送的提交:\n导航到存储库。
\n\n修改最新推送的commit消息:
\n\ngit 提交--amend -m "New commit message."
强制推送更新远程存储库的历史记录:
\n\ngit push --force branch-name
将\xc2\xa0导航到终端中的存储库目录。
\n\n运行以下命令修改(更改)最新提交的消息:
\n\ngit commit --amend -m "New commit message."
该命令的作用是用新的提交覆盖最近的提交。
\n\n\xc2\xa0-m \xc2\xa0 选项允许您在命令行上写入新消息,而无需打开编辑器会话。
在更改提交消息之前,您还可以添加您之前忘记的其他更改:
\n\ngit add .git commit --amend -m "New commit message."
| 归档时间: |
|
| 查看次数: |
17167 次 |
| 最近记录: |