zoukankan      html  css  js  c++  java
  • 合并commit及回退

    有时commit太多,而且可能一个commit只是提交一个小bug,那么合并commit势在必行。
    有两种方法:
    一是在提交最后一个修改的commit使用参数,这时之前的一个commit将会合并到这个即将提交的commit中来:
    git commit -a --amend -m "my message here"
    如果之前有一个提交,并且信息为:

    git commit -a -m "my last commit message"

    则这个commit message将不存在。但该commit的信息已经合并到"my message here"中了。

    第二个是,如果你提交了最后的修改,这时可用:

    $ git reset --soft HEAD^ #或HEAD^意为取消最后commit
    $ git commit --amend

    这将会把最后一个commit合并到前一个提交中去,例如(由上往下读):

    git add b.text

    git commit -a -m "my message here"
    git add a.text
    git commit -a -m "my last commit message"

    那么最后存在的将是"my last commit message"。也可后退n个,合并到前面第n+1个commit中去:

    $ git reset --soft HEAD~n #后退到第n,我也不清楚具体含义。
    $ git commit --amend [-m "new message"]

    我觉得最方面的是调用reflog查看操作历史,找到具体的commit id,然后直接git reset --hard [commit_id]就回到你要的版本!

    需要注意的是:合并commit只能对还未提交的几个commit之间进行,因为如果对远程仓库已经有的commit合并将会遇到head冲突。在push到远程仓库时(比如github),会收到commit冲突提示
  • 相关阅读:
    链接的热键属性accesskey
    链接目标属性
    HTML添加多媒体或音乐
    HTML中的图像
    DreamweaverCS6
    HTML其他基本格式说明
    HTML页面主体常用设置
    网页设计与开发的过程
    文字排版
    选择器
  • 原文地址:https://www.cnblogs.com/sumsung753/p/3821519.html
Copyright © 2011-2022 走看看