小游戏学Git(一)

通过游戏学Git

    • 基础篇
      • git commit
      • git branch
      • git merge
      • git rebase: 另一种合并方式
    • 高级篇
      • 分离HEAD
      • 相对引用
      • 撤销提交

Git小游戏网站 https://learngitbranching.js.org

2019-09-16 creaylei

这里基本涵盖90%的日常操作

基础篇

git commit

C2的提交基于C1之上

小游戏学Git(一)_第1张图片


git branch

git分支是轻量的,只是简单的指向某个提交记录

早建分支,多用分支

git branch bugFix 新增了指针到C1

小游戏学Git(一)_第2张图片

git checkout bugFix 切换到分支

上述两条命令可以合并为: git checkout -b bugFix 新建并切换到新分支


git merge

现有两条不同的分支,都有各自的提交,需要合并

将bugFix分支合并到master

小游戏学Git(一)_第3张图片

此时C4继承了C2和C3,即C4包含了所有的修改

如果再将master合并到bugFix,则会出现: bugFix指向C4,简单明了

小游戏学Git(一)_第4张图片


git rebase: 另一种合并方式

先是这样的一个分支情况

小游戏学Git(一)_第5张图片

git rebase mater

小游戏学Git(一)_第6张图片

切换到master上,并执行git rebase bugFix
小游戏学Git(一)_第7张图片

高级篇

分离HEAD

此处的C1相当于提交记录的哈希值,真实的是d98d61ce9d6c3e639b1fb2cd3bfc1f35622ed815 一长串,手动check的时候可以输入前几个字母就可以了 d98d61

小游戏学Git(一)_第8张图片

相对引用

master^^

git checkout master^ 移动到第一个父节点, 也可以 git checkout head^

小游戏学Git(一)_第9张图片

使用

小游戏学Git(一)_第10张图片

git branch -f master HEAD~3 强制将分支指向某个节点


撤销提交

git resetgit revert

远程使用revert 本地reset

小游戏学Git(一)_第11张图片

git reset

git reset: 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。 详情如下

小游戏学Git(一)_第12张图片

git revert : 可以理解为,恢复之前的修改后提交

小游戏学Git(一)_第13张图片
此时 C2‘ = C1


如果对你有用的话,请点个赞吧!O(∩_∩)O哈哈~

你可能感兴趣的:(git学习)