小遊戲學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哈哈~

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