事先声明:我用的webstorm里面的命令行。和git的命令窗口里执行效果是一样的,无差别哈。哪里都行。可以忽略这个问题
1、创建git分支
①我们在创建之前可以先看看目前有几个分支?
git branch
目前只有一个主分支
②现在开始创建分支(创建并切换到该分支,有2种方法,第一种是要执行2次命令。比较麻烦。第二种方法是简写。比较方便。推荐第二种)
第一种创建分支的方法:
git branch BobBranch
(上面的BobBranch是分支名)
然后切换到本分支:
git checkout BobBranch
这样就完成了、
第二种创建分支的方法:
git checkout -b test2
(上面的test2是第二个分支的名字)
好像目前已经成功创建了2个分支了。
我们来看看目前有几个分支?
git branch
是的有3个。一个是默认是主分支。还有2个是我们刚刚创建的。
2、删除git分支
友情提示:
在删除分支时,如果处于该分支,会出现删除错误、比如说目前我们在test2这个分支。却想直接删除test2这个分支是不行的。会报错。我们只能先切换到其他分支以后。然后再来删除test2这个分支、
我们先看看报错的提示:
删除分支分为2种:删除远程分支和删除本地分支
先普及一下概念:
远程分支和本地分支的区别?
远程分支:就是本地分支push到服务器上的du时候产生的。
比如master就是一个最zhi典型的远程分支(默dao认)。
1 $: git push origin master
除了master之外,我们还可以随便创建分支,然后push到服务器上去。
本地分支:就是还没push到服务器上的分支。
下图可以看见:目前我还没有把本地分支push到服务器。所以目前只有一个master主分支:
①删除本地分支:
(上面已经说了。先要切换到别的分支。才能删除到我们想删除的test2这个分支,所以我们先切换再删除)
git branch -D test2
这样我们就成功删除了test2这个分支了、
②删除远程分支:
(为了演示删除远程分支,我先push到服务器)
我创建了一个dev分支,
然后提交:
然后push:
git push origin dev:dev
解释一下这个:dev
的意思:
git push origin dev:dev
和 git push origin dev
是等效的
如果两个分支一样,是可以省略的
git push <远程主机名> <本地分支名>:<远程分支名>
前面的是本地分支名,后面的是远程分支名,同名可以省略冒号部分
push成功:
现在可以在服务器上看见这个分支了:
现在正式来删除远程分支:
git push origin :dev
删除成功后:
服务端又是只剩master分支了:
资料:
https://blog.csdn.net/duxing_langzi/article/details/80295573
https://www.cnblogs.com/fengff/p/10251853.html
③
4. 发布dev分支
发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev # 这样远程仓库也有一个dev分支了
5. 在dev分支开发代码
git checkout dev # 切换到dev分支进行开发
# 开发代码之后,我们有两个选择
# 第一个:如果功能开发完成了,可以合并主分支
git checkout master # 切换到主分支
git merge dev # 把dev分支的更改和master合并
git push # 提交主分支代码远程
git checkout dev # 切换到dev远程分支
git push # 提交dev分支到远程
# 第二个:如果功能没有完成,可以直接推送
git push # 提交到dev远程分支
# 注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
④
git拉取其他分支并且合并代码
1.先提交一波 为后续切分支准备
(xxx1为自己的分支 xxx2为想要拉取的分支)
git add .
git commit -m 'yyy'
git push origin xxx1
2.然后git切换到你所要拉取的分支xxx2 拉取该分支代码
git checkout xxx2
git pull origin xxx2 或者git fetch origin xxx2
3.切回自己的分支
git checkout xxx1
git merge xxx2
完事
⑥
⑦
⑧