zoukankan      html  css  js  c++  java
  • 重命名commit

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

    用到的命名分别为:

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

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

     

     注意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

      ② 执行2后,会进入如下界面:

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

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

       剩下的操作同上。

     3提交远程仓库

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

    git push --force             #当前
    git push origin master -f #主线
    懒惰不会让你一下子跌到 但会在不知不觉中减少你的收获; 勤奋也不会让你一夜成功 但会在不知不觉中积累你的成果 越努力,越幸运。
  • 相关阅读:
    jq获取img高度(动态生成的image高度为0原因)
    Idea集成使用SVN教程
    RPC框架pigeon源码分析
    java多线程面试题整理及答案
    深入理解JVM线程模型
    dubbo 2.8.4(dubbox)的jar包制作【添加到maven本地仓库】
    【学习】027 Dubbo
    【学习】026 Zookeeper
    【学习】025 RocketMQ
    【学习】024 springCloud
  • 原文地址:https://www.cnblogs.com/Rainingday/p/14529678.html
Copyright © 2011-2022 走看看