如何学习Git?
必须参加过多人开发,最好是开源项目,才能知其然,还知其所以然。
最常用的初始化
git init
克隆
git clone git@gitee.com:xxx/xxx.git
推
git add
git commit -m "init"
git push origin master
拉
git fetch --all
git merge origin/master
创建新分支、删除分支、查看分支
git checkout -b new_feature master
git branch -d new_feature
git branch
说一个最最最常用的,你开发new_feature分支,写到一半,逻辑没写完,master分支有个紧急 bug 要修,你怎么办?
首先,new_feature 分支工作区的内容要保存,怎么保存,用 git add 和 git commit ?肯定不行,你功能都没写完,甚至可能 if 语句写到一半,这个时候用 git add 肯定不合适。
答案是用草稿箱功能
git stash
基于 master 分支创建 bugfix 分支,当然,最好先拉一下 master 分支,保证是最新的
git checkout master
git fetch --all
git merge origin/master
git checkout -b bugfix master
修复 bug,先合并到测试开发分支,前提也要保证 dev 分支是最新的
git add .
git commit -m "bug fix."
git checkout dev
git fetch --all
git merge origin/dev
git merge bugfix
git push origin dev
测试没问题,合并到 master 分支,前提要保证 master 是最新的
git checkout master
git fetch --all
git merge origin/master
git merge bugfix
git push origin master
切换回 new_feature 分支,把草稿箱的内容弹出来,因为草稿箱是个栈结构,后进先出
git checkout new_feature
git stash pop
继续开发,新特性开发完成后,进行测试操作,这一步参考上面的,再合并到 master 分支,合并到 master 分支后,本地 new_feature 分支没有意义了,就删掉
git checkout master
git fetch --all
git merge origin/master
git merge new_feature
git push origin master
git branch -d new_feature
整个新特性就开发完了,这就是整个开发过程中 git 的操作流程。



