连接

基础篇

  • undo 撤销一次更改

  • git commit
    进行一次更改

  • git branch name
    创建一个名为 name 的分支

分支:可以理解为树分叉,每次选一个分叉进行开发

  • git checkout name
    切换到name的分支上

  • git checkout -b name
    创建一个分支并转移到分支上

  • git merge name
    将当前所在分支合并到name

  • git rebase name
    将当前分支与name分支的另一种合并方法

高级篇

head相当于当前指向位置

  • git checkout hashval(绝对引用)
    将head移动到对应hashval的节点上

  • git checkout name^ (相对应用)
    表示将head指向name提交位置的父节点

  • git checkout name~x(相对引用)
    表示将head指向name提交位置后退x次的节点

  • 使用相对引用最多的地方:移动分支
    git branch -f main HEAD~3表示将main分支强制指向HEAD的第三级父提交

  • git reset name ~x/^
    改写历史,回到若干个节点前,已经改变的从未发生过,但仅对本地而言。
    对于多人使用的远程分支是无效的。

  • git revert name ~x/^
    前进一个节点,但新建的节点与回溯到的节点相同

进阶

高级以上已经可应付90%,接下来是在复杂工作流中使用

  • git cherry-pick <提交号>
    将选择的提交号节点按顺序复制到当前head下
  • git rebase -i name ~x/^
    将从HEAD当所选父节点的所有节点到可视化界面进行选择重排,复制到所选父节点下