小游戏学Git(一)

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

2019-09-16 creaylei

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

基础篇

git commit

C2的提交基于C1之上

UTOOLS1568624081760.png


git branch

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

早建分支,多用分支

git branch bugFix 新增了指针到C1

UTOOLS1568624310428.png

git checkout bugFix 切换到分支

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


git merge

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

将bugFix分支合并到master

UTOOLS1568624652002.png

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

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

UTOOLS1568624917084.png


git rebase: 另一种合并方式

先是这样的一个分支情况

UTOOLS1568625309365.png

git rebase mater

UTOOLS1568625370817.png

切换到master上,并执行git rebase bugFix
UTOOLS1568634968033.png

高级篇

分离HEAD

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

UTOOLS1568625999086.png

相对引用

master^^

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

UTOOLS1568626268603.png

使用

UTOOLS1568626824842.png

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


撤销提交

git resetgit revert

远程使用revert 本地reset

UTOOLS1568627459568.png

git reset

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

UTOOLS1568627606728.png

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

UTOOLS1568628254945.png
此时 C2‘ = C1


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章