• Git权威指南 读笔(4)


    第12章 改变历史:

      $ git commit --amend -m "Remove hello.h, which is useless." 修改提交说明

      $ git log --decorate : 参数decorate表示显示提交所属里程碑tag

      $ git cherry-pick [commit] : 拣选指令

      $ git cherry-pick -C C : 重用C提交的提交说明

      $ git rebase --onto <newbase> <since> <till>: 对提交执行变基操作,即可以实现将指定范围的提交“嫁接”到另外一个提交至上。

        变基操作的过程:

        (1)首先执行git checkout切换到<till>

        (2)将<since>..<till>所标识的提交范围写到一个临时文件中

        (3)将当前分支强制重置(git reset --hard)到<newbase>

        (4)从保存在临时文件中的提交列表中,讲提交逐一按顺序重新提交到重置之后的分支上

        (5)~(6)...

      $ git tag -d <commit>: 删除创建的里程碑

      $ git rebase -i <commit>: 进入交互界面通过编辑器vi修改变基操作内容

      由里程碑A对应的提交构造出一个根提交的两种方法:

        (1)$ echo "Commit from tree of tag A." | git commit-tree A^{tree}

        (2)$ git cat-file commit A^0 | sed -e '/^parent/ d' > tmpfile

            $ git hash-object -t commit -w -- tmpfile

      $ git revert head : 反向提交命令

    第13章 Git克隆:

      用法1:

      $ git clone <repository> <directory>

        为了实现同步,需要进入到备份版本库中,执行git pull命令

        通过查看配置文件(包含对上游版本库的注册信息)

        $ git remote -v

      用法2:

      $ git clone --bare <repository> <directory.git>

        $ git push /path/to/repos/demo.git : 推送

      用法3:

      $ git clone --mirror <repository> <directory.git>

        对于使用$git init命令的空的裸版本库,第一次推送需要指定引用:

          $ git push /path/to/repos/demo-init.git master:master

      (一些remote命令的使用)

  • 相关阅读:
    因安装包依赖问题导致无法安装的解决办法!
    Ubuntu18.04安装qemu遇到问题-qemu : Depends: qemu-system (>= 1:2.11+dfsg-1ubuntu7)
    理解mount -t proc proc /proc
    printf "%.*s"
    Linux 内核内存分配函数devm_kmalloc()和devm_kzalloc()
    为什么 extern 使用 const 修饰的变量会编译不过?
    php openssl_sign 对应 C#版 RSA签名
    win7中用iis部署ssl服务
    找出windows系统上最大的文件
    windows 创建指定大小文件
  • 原文地址:https://www.cnblogs.com/nuaalida/p/4281960.html
Copyright © 2020-2023  润新知