01 命令整理
## 查看当前分支 git branch -vv ## 创建dev分支 git branch dev ## 列出当前所有分支 git branch -a ## 切换分支 git checkout dev ## 提交内容到本地 git add . git commit -m "提交注释" ## 提交到远程仓库 git push origin master ## 合并分支(先切换到主分支) git checkout master git merge dev ## 删除分支 git branch -d dev
02 使用场景
一般分支使用到如下场景:
- 为了开发某个新功能新建一个分支(假如叫develop),并在该分支上进行开发。
- 接到测试组的Bug反馈,返回主分支,新建一个新的分支(bugFix),在该分支上修复Bug,然后与主分支master合并。
- 将分支切换回develop,继续开发新功能,结束后和主分支master合并。
下面来讲解Git分支的使用。
03 码云新建私有仓库
首先在码云新建私有仓库,新建后如下:
新建了test.txt文件并提交,用于后续的测试,test.txt的内容如下:
使用IDEA把项目clone下来,可以看到下图项目处于的分支为master分支,如下图:
好了,下面开始讲解分支的操作。
04 新建分支
比如现在有个新的需求,需要开发一个新功能,为了不影响之前master的主干分支,此时我们需要新开一个分支dev,操作如下:
①首先进入项目的本地磁盘目录,可以看到里面有个.git的文件,说明这是git项目,可以进行git的相关操作:
②在该目录下打开命令窗口,我的是Mac系统(Windows的可以直接右键Gitbash):
③查看当前分支,可以看到当前分支属于master(下面绿色的文本):
git branch -vv
④好了,现在创建dev分支,命令如下:
git branch dev
列出当前所有分支,可以看到分支创建成功:
git branch -a
⑤切换到dev分支,两种方式,一种使用命令,如下:
git checkout dev
另外一种是直接使用IDEA切换,如下图步骤,直接可以切换至dev分支:
查看当前分支,可以知道,当前处于dev分支:
05 在master和dev分支上修改文件
①首先切换到master分支:
git checkout master
②修改test.txt
③提交(使用IDEA直接操作也行)
git add . git commit -m "add line on master!!!!"
此时,代码还没有提交到远程仓库的,现在模拟dev分支也修改了这一行:
①首先切换到master分支:
git checkout dev
②修改test.txt:
③提交(使用IDEA直接操作也行):
git add . git commit -m "add line on dev!"
这是master分支合dev分支都没有提交到远程仓库,下面来模拟分支的合并与冲突解决。
06 分支合并与解决
①首先提交master的内容到远程仓库(使用IDEA提交也行),可以看到提交成功:
git checkout master git push origin master
②提交dev分支到远程仓库:
git checkout dev git push origin dev
可以看到码云多了一个分支:
而且也有提交记录:
下面进入主题,需要把dev分支直接合成到master,如何解决呢?
使用命令:
① 首先切换到master分支上
git checkout master
②然后我们把dev分支的代码合并到master上,可以看到是有冲突的,所以需要解决冲突:
git merge dev
③解决冲突:
④解决后提交:
git add . git commit -m "fix conflict!"
⑤提交到远程仓库:
git push origin master
在IDEA,选中项目,右键Git,然后show history:
可以看到本文的git操作流程图:
⑥最后删除分支:
git branch -d dev