git操作备忘

git操作备忘_第1张图片

分支操作

branch

git branch 分支名 创建一个新分支

checkout

git checkout 分支名 切换到对应的分支

git checkout -b 分支名 切换到对应的分支,如果分支不存在,先创建

merge 

git merge 分支名 将其他分支代码合并到当前分支
git操作备忘_第2张图片 git操作备忘_第3张图片 git操作备忘_第4张图片 git操作备忘_第5张图片 git操作备忘_第6张图片

rabase

git rebase 分支名 合并代码到对应分支

git操作备忘_第7张图片git操作备忘_第8张图片git操作备忘_第9张图片git操作备忘_第10张图片git操作备忘_第11张图片

 在提交树上移动

head

git checkout 节点hash值 分离head和分支,将head指向对应节点

HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。

HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。

HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。

 git操作备忘_第12张图片git操作备忘_第13张图片git操作备忘_第14张图片

通过指定提交记录哈希值的方式在 Git 中移动不太方便。实际应用时并没有这么漂亮的可视化提交树供你参考,所以就不得不用 git log 来查看提交记录的哈希值。

并且哈希值在真实的 Git 世界中也会更长(译者注:基于 SHA-1,共 40 位)。可能是 fed2da64c0efc5293610bdd892f82a58e8cbc5d8。舌头都快打结了吧...

比较令人欣慰的是,Git 对哈希的处理很智能。你只需要提供能够唯一标识提交记录的前几个字符即可。因此我可以仅输入fed2 而不是上面的一长串字符。

相对引用

正如前面所说,通过哈希值指定提交记录很不方便,所以 Git 引入了相对引用。这个就很厉害了!

使用相对引用的话,你就可以从一个易于记忆的地方(比如 bugFix 分支或 HEAD)开始计算。

相对引用非常给力,这里介绍两个简单的用法:

  • 使用 ^ 向上移动 1 个提交记录
  • 使用 ~ 向上移动多个提交记录,如 ~3
“^”操作符

 git操作备忘_第15张图片git操作备忘_第16张图片git操作备忘_第17张图片

“~”操作符

如果你想在提交树中向上移动很多步的话,敲那么多 ^ 貌似也挺烦人的,Git 当然也考虑到了这一点,于是又引入了操作符 ~

该操作符后面可以跟一个数字(可选,不跟数字时与 ^ 相同,向上移动一次),指定向上移动多少次。咱们还是通过实际操作看一下吧

 git操作备忘_第18张图片git操作备忘_第19张图片git操作备忘_第20张图片

强制修改分支位置

我使用相对引用最多的就是移动分支。可以直接使用 -f 选项让分支指向另一个提交。例如:

git branch -f master HEAD~3

上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。

git操作备忘_第21张图片git操作备忘_第22张图片git操作备忘_第23张图片

 

附上好玩的git入门教程

https://learngitbranching.js.org/?locale=zh_CN

你可能感兴趣的:(git操作备忘)