前提:不要对任何已经提交到公共仓库中的commit进行修改(你自己一个人玩的分支除外)想要修改commit的名字,可分修改最近一次的commit,和之前的某次commit。

用到的命名分别为:

git commit --amend
git rebase -i [start point] [endpoint]

1.重命名最新的commit
概述
命名分支最新commit,主要使用到git commit --amend -m 'new_message'命令。(这里的new message用单引号 双引号都可以)。如下图所示。

 重命名commit

 

 

 注意git commit --amend -m 'new_message'命令相当于撤销之前的提交,然后携带新的信息进行一次新的提交,所以重命名后,该节点的id会发生变化。

2. 重命名历史commit

  • 场景 假如我觉得之前提交的commit中有不妥的,想要重命名。又分第一个commit和中间commit(第一个和最新的之间)。
  • 概述 重命名历史commit相对比较复杂,需要配合rebase相关命令:git rebase -i [start commit_id]
    • 其中[start commit_id]为需要重命名commit的前面的节点的id。如此情景中我们修改1,因此需要其前面的commit_id。
    • 使用 git rebase -i HEAD~3(HEAD~3表示将修改当前版本的近三条commit)
  • 步骤 git log --oneline 查看commit
             假如要修改b的名字。则git rebase -i 8b2c5f

    重命名commit

    ② 执行2后,会进入如下界面:
    重命名commit

     ③在"b"那一行 写入r,即reword <commit>,然后就进入下一个界面。写入要修改的name即可。
    重命名commit

  • 以上使用git rebase -i 8b2c5f后(8b2c5f即对应a),可操作的只有b,c,d。那么如何修改第一个<commit>。 
    使用git rebase -i --root,输入执行后,结果如图。
    重命名commit

     

     

     剩下的操作同上。

 

 

 

 3提交远程仓库

如果不光是本地的修改,则使用强制push提交到远程仓库

git push --force             #当前
git push origin master -f #主线

 

相关文章:

  • 2022-12-23
  • 2021-05-24
  • 2021-04-17
  • 2021-06-24
  • 2021-10-09
  • 2021-10-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-21
  • 2022-12-23
  • 2021-05-27
  • 2022-12-23
  • 2021-11-19
  • 2021-09-22
  • 2022-01-11
相关资源
相似解决方案