zoukankan      html  css  js  c++  java
  • git那些事(下)

    git那点事

    我以前只会 git 的clone、remote、pull、add、commit、push、merge、reset、stash、这些基本操作,这里我通过learngitbranching这个网站系统了学习了一下 git 的其他操作。通过本文,您可以学到:

    1. git的常用工作流是怎样的?
    2. git rebase 怎么操作?
    3. git cherry-pick 怎么操作?
    4. git revert 是什么?
    5. git 相对引用是怎么回事?
    6. git tag 怎么使用
    7. git branch -f 和 git branch xx xxx

    git cherry-pick

    git cherry-pick 可以用来选取提交节点,使用方法很简单,命令如下:

    git cherry-pick <提交号>
    

    注意:有时 git cherry-pick 可以用来代替 git rebase 的部分功能;而且 git commit --amend 也可以用来合并然后修改上次的提交信息

    git revert

    我们都知道,使用 git reset 可以把未 push 的 commit 进行回退,但是如果已经 push 了呢?使用 git revert 即可。这个命令会创建一个新的提交,这个提交会删除上个提交的内容。命令如下:

    git revert HEAD
    git push
    

    git 相对引用

    我们经常会看到比如HEAD^HEAD^^HEAD~3这种形式的命令,这个就是相对引用。意思如下:

    HEAD^: 表示当前HEAD上一个节点,如果有2个^就表示上上个节点,以此类推
    HEAD~3: 表示当前HEAD向上移动多少个节点,不加数字时表示向上移动一个
    

    注意:

    1. git rebase -i (HEAD~3)表示将之前3个节点进行 rebase。
    2. git checkout master^2表示回到 master 的第二个父节点(按提交的时间顺序),注意这里的 ^ 后面接了数字,表示第几个父节点。如果不接数字的话,表示提交时间最早的那个父节点。

    git tag

    git tag 可以用来打标签,后面的提交号是可选的,如果没有则表示在当前HEAD上面打标签。

    git tag v1 <提交号>
    

    git branch 高阶用法

    我们都知道git checkout -b xxxgit branch xxxgit checkout xxx的缩写形式,于是git branch也有两个类似的高阶用法:

    ### 表示在 xxx 节点创建 xx 分支,但是不切换到这个分支
    git branch xx xxx
    
    ### 表示将已经存在的 xx 分支强制移动到 xxx 节点,并且不切换到这个分支
    git branch -f xx xxx
    
  • 相关阅读:
    AWS生产环境Pod挂载不了configmap、secret
    Ant学习
    Springframework3.1源码编译
    MyEclipse10 中增加svn插件
    如何测试java支持的最大内存
    Tomcat中部署后JspFactory报异常的解决方案
    win7x64下安装oraclex64版本后,plsql Developer无法登录的问题
    CentOS6.4安装及配置oracle
    VMWare安装redhat9后上网的的问题
    泛海精灵项目的回顾与反思
  • 原文地址:https://www.cnblogs.com/yangzhou33/p/13934518.html
Copyright © 2011-2022 走看看