0. 前言
看到GitHub上一个交互式的项目叫 Learn Git Branching,感觉蛮不错的。
实践了一下,算是查缺补漏吧。
进度:
- [ v ] Introduction Sequence
- [ v ] Ramping Up
- [ v ] Moving Work Around
- [ ] A Mixed Bag
- [ ] Advanced Topics
1. commit & branch & merge
git checkout -b branch # 创建并查看branch分支
git commit -m "..." # commit
git rebase master # 把branch变成master
git checkout -b branch
git checkout master
git merge branch # 把branch合并到master中
2. HEAD
git chekcout fd2f # 把HEAD指向fd2f
git checkout master^ # 把HEAD向上移动
git checkout HEAD~3 # 把HEAD向上移动3个提交记录
git branch -f master HEAD~3 # master 分支强制指向 HEAD 的第 3 级父提交
3. Reset & Revert
Reset是只能使用在本地,远程端无法使用。
如果要分享到远程,使用revert,它会创建一个新的节点。
4. Rebase
当你知道提交记录的哈希值:
git cherry-pick fffx sscc # 把fffx和sscc复制到当前分支下
如果不知道哈希值,可以使用交互式的Rebase:
git rebase -i branch