Git小遊戲網站 https://learngitbranching.js.org
2019-09-16 creaylei
這裏基本涵蓋90%的日常操作
基礎篇
git commit
C2的提交基於C1之上
git branch
git分支是輕量的,只是簡單的指向某個提交記錄
早建分支,多用分支
git branch bugFix
新增了指針到C1
git checkout bugFix
切換到分支
上述兩條命令可以合併爲: git checkout -b bugFix
新建並切換到新分支
git merge
現有兩條不同的分支,都有各自的提交,需要合併
將bugFix分支合併到master
此時C4繼承了C2和C3,即C4包含了所有的修改
如果再將master合併到bugFix,則會出現: bugFix指向C4,簡單明瞭
git rebase: 另一種合併方式
先是這樣的一個分支情況
git rebase mater
切換到master上,並執行git rebase bugFix
高級篇
分離HEAD
此處的C1相當於提交記錄的哈希值,真實的是
d98d61ce9d6c3e639b1fb2cd3bfc1f35622ed815
一長串,手動check的時候可以輸入前幾個字母就可以了 d98d61
相對引用
master^^
git checkout master^
移動到第一個父節點, 也可以 git checkout head^
使用
git branch -f master HEAD~3
強制將分支指向某個節點
撤銷提交
git reset
和 git revert
遠程使用revert 本地reset
git reset
git reset: 通過把分支記錄回退幾個提交記錄來實現撤銷改動。你可以將這想象成“改寫歷史”。git reset
向上移動分支,原來指向的提交記錄就跟從來沒有提交過一樣。 詳情如下
git revert
: 可以理解爲,恢復之前的修改後提交
此時 C2‘ = C1
如果對你有用的話,請點個贊吧!O(∩_∩)O哈哈~