• Git commit合并操作 以及Reset参数理解


    git cmd中文乱码解决:

    git config --global i18n.commitencoding utf-8
    git config --global i18n.logoutputencoding utf-8
    export LESSCHARSET=utf-8

    多余多次commit 的合并

    使用git log查看需要合并的commit
    git rebase -i commitId
    或者git rebase -i HEAD~1 修改倒数第1次的commit

    其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着进入到 vi 的编辑模式

    pick 要会执行这个 commit
    squash 这个 commit 会被合并到前一个commit
    reword 使用commit,但可编辑这条commit信息
    edit 使用commit, 但停止正在执行的amend
    fixup 类似squash, 但会丢弃这条commit信息
    drop 移除commit

    Git Reset 三种模式

    reset --mixed 参数(默认)。
    它的行为是:保留工作目录,并且清空暂存区。
    工作目录的修改、暂存区的内容以及由 reset 所导致的新的文件差异,都会被放进工作目录。
    简而言之,就是「把所有差异都混合(mixed)放在工作目录中」

    --hard
    重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区

    --soft
    重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致
    因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。
    所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/12157186.html
Copyright © 2020-2023  润新知