本地分支管理
分支的创建,切换
cd /data/gitroot/
git branch
* 表示当前所在的分支
查看分支
- 创建新的分支
git branch study - 切换分支
git checkout study - 在 study分支下创建文件,提交到版本库
echo “study” > study.txt
git add study.txt
git commit -m “study.txt 1”
分支是相互隔离开的
分支的合并
git checkout master
git merge study
两个分支下有相同的文件名,分别作修改后提交到版本库,分支合并会产生冲突
当两个分支里的文件名与内容相同时,分支合并就不会产生冲突
merge 后面指定的分支一定是最新的分支
分支的删除
git checkout master
git branch -d study
强制删除分支
git branch -D study
使用分支的原则
- master分支是非常重要的,线上发布代码用这个分支,平时我们开发的代码不要在这个分支上
- 创建一个dev分支,专门用作开发,只有到发布到线上之前,才会把dev分支合并到master
- 开发人员应该在dev的基础上再分支成个人分支,个人分支用作开发代码,然后合并到dev分支
github 分支管理
创建分支
在本地查看远程的分支
cd /tmp
git clone https://github.com/apenglinux/studylinux.git //只能克隆 master分支
cd studylinux/
git branch
git ls-remote origin
在本地切换到远程的dev分支下
git checkout -b dev origin/dev
默认推送所有分支的更新到 github 上
vim expect.sh
git add expect.sh
git commit -m "add expect.sh"
git push
推送指定分支的更新到 github上
git push origin dev
将github上没有的分支而本地上有的分支推送到github上
git branch dev2
git checkout dev2
vim initweb.sh
git add initweb.sh
git commit -m "add initweb.sh"
git push origin dev2