ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

git 修改已经提交的 commit

2022-09-15 17:31:52  阅读:208  来源: 互联网

标签:git author -- 修改 提交 commit message


对于已经 git commit,但还未 git push 到远程仓库的提交信息进行修改。主要分为如下两类

一、 对于刚刚提交的信息进行修改,此时修改的commit为最后一次提交的内容:

可修改提交的messageauthor,如修改下图所提交的信息和作者

# 1. 只修改提交的 message,如将已提交的message修改为 "B01"
  git commit --amend --message="B01"

# 2. 只修改提交的 author 信息,如将author设置为 "Jeff <Jeff@163.com>" ,之后会进入到 vim编辑message页面
  git commit --amend --author="Jeff <Jeff@163.com>"

# 3. 一条命令行来同时修改已提交的author 和 message
  git commit --amend --author="Jeffxu <Jeffxu@163.com>"  --amend --message="A02"

二、修改历史多次提交的 commit 信息

可以使用 git rebase -i 命令来对多次提交的历史 commit 内容进行修改。
如修改下图中 "A02"~"A05" 这四次commit的信息。

  1. git rebase -i 将以Vim编辑器来显示所有已经 commit ,但还未 push 到远程仓库中的内容,如下图中"pick ...." 所对应的四条
  2. 将需要修改的那条 commit 所对应的 "pick" 修改为 "edit",保存并退出Vim编辑器,修改后如下图所示:
  3. 执行 git commit --amend --author="<author info>"git commit --amend --message="<edit message>" 来修改对应的author 或者 message。与最上面修改最后一次commit方式类似。
# 1. 只是修改author信息,随后会进入到编辑message的页面,如不需要修改message,可直接退出vim编辑器
  git commit --amend --author="<author info>"
# 2. 只是修改message信息
  git commit --amend --message="<edit message>"
# 3. 同时修改message 和author
  git commit --amend --message="<edit message>" --author="<author info>"
  1. 修改好对应的内容后,执行 git rebase --continue 来完成该笔 commit 的修改,同时会自动进入到下一笔 commit的编辑位置,如下图显示当前修改的是第几笔的commit 内容
  2. 继续执行类似于步骤3,4的 git commit --amendgit rebase --continue 指令来修改对应的内容,直到所有的 commit全部修改完成。
  3. 可以执行 skip 跳过当前的commit修改, abort 放弃所有的修改,包含之前的修改
# 1. 跳过对当前的这笔 commit 进行修改
  git rebase --skip
# 2. 放弃对所有 commit的修改,之前已完成修改的内容也全部会被丢弃
  git rebase --abort

【参考资料】

  1. Git 修改已提交 commit 的信息
  2. git-rebase

标签:git,author,--,修改,提交,commit,message
来源: https://www.cnblogs.com/Jeffxu/p/16697325.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有