⼏乎所有的版本控制系统都以某种形式⽀持分⽀。 使⽤分⽀意味着你可以把你的⼯作从开发主线 上分离开来,以免影响开发主线。 在很多版本控制系统中,这是⼀个略微低效的过程⸺常常需 要完全创建⼀个源代码⽬录的副本。
对于⼤项⽬来说,这样的过程会耗费很多时间。 Git 处理分⽀的⽅式可谓是难以置信的轻量,创建新分⽀这⼀操作⼏乎能在瞬间完成,并且在不 同分⽀之间的切换操作也是⼀样便捷。 与许多其它版本控制系统不同,Git ⿎励在⼯作流程中频 繁地使⽤分⽀与合并,哪怕⼀天之内进⾏许多次。 Git 保存的不是⽂件的变化或者差异,⽽是⼀系列不同时刻的 快照 。
当使⽤ git commit 进⾏提交操作时,Git 会先计算每⼀个⼦⽬录(本例中只有项⽬根⽬录)的校 验和, 然后在 Git 仓库中这些校验和保存为树对象。随后,Git 便会创建⼀个提交对象, 它除了 包含上⾯提到的那些信息外,还包含指向这个树对象(项⽬根⽬录)的指针。 如此⼀来,Git 就 可以在需要的时候重现此次保存的快照。
创建分支
git branch testing
分支切换
git checkout testing
提交
git commit -a -m '说明'
合并
先切回master分支,然后合并
git checkout master
git merge dev-xxx
Fetch
将远端某些分支最新代码拉取到本地,不会执行merge操作,会修改refs/remote内的分支信息,如果需要和本地代码合并并需要手动操作。
使用GitHub注意事项
1.尽量少量多次
2.提交pr后最少需要保证有CR后再合入
3.主干分支尽量保持整洁