• 例如:将gitLab 上的dev分支拉取到本地
git checkout -b dev origin/dev  在本地创建分支dev并切换到该分支

git pull origin dev             就可以把gitLab上dev分支上的内容都拉取到本地了

git pull 和  git fetch 的区别 https://blog.csdn.net/weixin_41975655/article/details/82887273

参考  https://blog.csdn.net/qq_40973353/article/details/80682891

 

  • git如何利用分支进行多人开发 

在使用git时,假如远程仓库有 dev 和 master 两个分支,master 作为一个稳定版分支,可用于直接发布产品,日常的开发则 push 到 dev 分支,那本地是不是要从 dev 分支中创建一个本地分支,然后在这个分支的 push 的动作是默认推到远程 dev 分支上? 

重点:自己的开发分支永远只能从master拉取;

参考 

 

  1. 克隆代码 
git clone git@github.com:XX/master-dev.git   #这个git路径是无效的,示例而已
  1. 查看所有分支 
git branch --all 
# 默认只有master分支,所以会看到如下两个分支
# master[本地主分支]  origin/master[远程主分支]
# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
  1. 创建本地新的dev分支 并且 关联origin/dev的分支
(如果远程不存在origin/dev)git checkout -b dev ;git push origin dev # 这样远程仓库也有一个dev分支了;这个时候可以使用 git branch --set-upstream-to=origin/dev dev 和远程dev关联,这样可以直接使用git push
(如果远程已经存在origin/dev)git checkout -b dev origin/dev  # 创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样;
  1. 在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全部的改变,除非你真的知道自己在做什么
  1. 删除分支
  • git push origin --delete dev # 删除远程dev分支,危险命令哦 # 下面两条是删除本地分支 git checkout master # 切换到master分支 git branch -d dev # 删除本地dev分支

 

       多人合作代码提交实践

            

  • 前言:有的时候我们需要跟别人合作进行开发(使用不同的Git分支),等项目完成时,需要进行代码合并,就需要知道Git如何合并远程分支。
  • b: 公共分支 ; a: 自己的分支
  1. git checkout -b b origin/b 在本地新建一个与远程的分支b相同(被合并的版本)的分支b :该指令的意思:创建一个本地分支,并将远程分支放到该分支里面去。
  • 如果测试环境用自己的分之的操作
  1. git pull origin b 将远程代码pull到本地
  2. git checkout a 返回到你的分支a
  3. git merge b 合并分支a与分支b
  4. git push origin a
  • 如果测试环境用公共的分之的操作
  1. git checkout master ;git pull
  2. git checkout a ;git merge master
  3. git checkout b ;git merge a
  4. git push origin b