推荐一个网站:
https://learngitbranching.js.org/
git commit 提交记录
git branch '分支' 创建分支
git checkout '分支' 转到分支
git checkout -b '分支' 创建和转到分支
git checkout master 切换到master
git merge '分支' 将分支合并到master
git rebase master 将分支合并到master,历史记录为线性
HEAD
HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。
git checkout C4 将HEAD指向C4
git log 查看提交记录的哈希值
git checkout master^ 切换到master的父节点,^^第二个父节点
git checkout HEAD^ 一直使用可以向上移动
git checkout HEAD~4 向上移动4次
git branch -f master HEAD~3 将 master 分支强制指向 HEAD 的第 3 级父提交
相对引用为我们提供了一种简洁的引用提交记录 C1
的方式, 而 -f
则容许我们将分支强制移动到那个位置。
git reset HEAD~1 撤销本地操作,回到上一次提交的状态
git revert HEAD 撤销本次操作,并推送到服务器,多了一个新提交,即上一次提交的状态