GIT常用的简单指令

  • 创建新的分支:
    • git branch name
    • git commit【记得提交】
  • 切换当前操作的分支:
    • git checkout name
    • 如果不存在分支:添加-b会自动创建
    • git checkout -b name【自动创建name分支并切换到name分支】
  • 合并两个分支:
    • git checkout name
    • git merge name1 【把名称为name1的分支合并到name分支中】
    • git commit
  • 线性合并
    • 如果两个分支是平行状态,将当前分支提交到某个分支的前面:git rebase 目标版本
    • 如果两个分支是顺序模式,切换到分支后面版本上,git rebase 新版本,表示将现在的版本更新到最新版本
  • 分离HEAD:
    • 我的理解就是当前操作的版本就是HEAD,而每个版本都有一个HASH值,我们可以直接git checkout hasd值,分离HEAD,不同选择版本名。【HASH和版本名区别还有待研究】
  • 移动HEAD
    • 使用 ^ 向上移动1个提交记录
    • 使用 ~ 向上移动多个提交记录
    • git checkout name^ :切换到name的父提交【^数字2,表示回到第二个父版本】
    • git checkout name~4:切换HEAD到name的上4层级
  • 强制移动分支的位置
    • git branch -f 被移动 目标位置【branch在这里不是创建新分支的意思】
  • 撤销操作
    • reset:建议在私有分支使用,会丢弃部分版本【参数代表目标位置】
    • revert:建议在公有分支使用,不会丢弃历史版本,只会新建一个版本【参数代表从哪个版本开始新建历史版本】
  • 合并版本
    • git cherry-pick A B C :把 A B C三个版本依次添加到当前HEAD的下面
    • cherry-pick 可以从提交树的任何地方拿一个提交来放在 HEAD 上(尽管那个提交不在上游)
  • 重排版本顺序
    • git rebase 位置旧 位置新在线性版本中,会直接同步一起,不是线性版本,会移动。
    • git rebase HEAD~6【弹出窗口,当前位置上面的六个版本】
  • 小的修改
    • git commit --amend
  • git标记
    • git tag 标记名 版本名
  • 查询标签附近的版本
    • git describe --ref:可选,版本名称
  • PS:git常用命令在线练习网站 http://learngitbranching.js.org/?demo

你可能感兴趣的:(GIT常用的简单指令)