• 例如:将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拉取;
参考 https://www.cnblogs.com/kexianting/p/8525732.html
 
  1. 克隆代码 
    1. git clone git@github.com:XX/master-dev.git   #这个git路径是无效的,示例而已
  2. 查看所有分支 
    1. git branch --all
      # 默认只有master分支,所以会看到如下两个分支
      # master[本地主分支] origin/master[远程主分支]
      # 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
  3. 创建本地新的dev分支 并且 关联origin/dev的分支
    1. (如果远程不存在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分支代码一样;
  4. 在dev分支开发代码
    1. 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全部的改变,除非你真的知道自己在做什么
  5. 删除分支
  • git push origin --delete dev # 删除远程dev分支,危险命令哦 # 下面两条是删除本地分支 git checkout master # 切换到master分支 git branch -d dev # 删除本地dev分支 (项目中在git上原本只有maser分支, 拉倒本地新建dev分支, 然后通过上述第二种方式将dev分支推到git服务器, git服务器上有master和dev两个分支, 一般开发是会在本地的dev分支上开发, 然后推送到git服务器上dev分支, 并且在master分支上和本地的dev分支合并, 并将本地的master分支推送到git服务器上的mater分支上, 作为发布的mater分支)

   多人合作代码提交实践

  • 前言:有的时候我们需要跟别人合作进行开发(使用不同的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
  • 参考 https://blog.csdn.net/DeMonliuhui/article/details/78510678

git 操作 :从远程仓库gitLab上拉取指定分支到本地仓库;git如何利用分支进行多人开发 ;多人合作代码提交实践的更多相关文章

  1. git从远程仓库gitLab上拉取指定分支到本地仓库

    例如:将gitLab 上的dev分支拉取到本地 1>与远程仓库建立连接:git remote add origin XXXXX.git 2>使用git branch 查看本地是否具有dev ...

  2. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

  3. idea从git上拉取并管理项目

    1:idea从git上拉取项目 (1)FILE --> New --> Project from Version Control --> Git (2):输入项目的Https SSH ...

  4. git上拉取tag,识别最新tag在此版本上新增tag

    通过shell 脚本自动获取最新tag,并输入最新版本后,推到git上 # 拉取分支上现有的tags git fetch --tags echo -e "所有tag列表" git ...

  5. git如何拉取指定分支的代码

    问题背景: 新项目还在开发阶段,没有正式对外发布,所以开发同事合并代码到develop上(或者其他名称分支上),而不是到master分支上 通过git拉取代码的时候,默认拉取的是master分支,如下 ...

  6. 自动备份远程mongodb数据库并拉取到本地

    自动备份远程mongodb数据库并拉取到本地 目标: 远程服务器 .1中的mongodb数据拉回公司测试服务器中 .远程服务器中编写自动备份mongodb脚本 ①编写脚本 # vim /opt/bac ...

  7. 从gitHub上拉取并运行项目

    今天我们来试一下如何从gitHub上拉取一个项目并且运行起来,话不多说,我们直接开搞可好 1.首先我们先获取到项目地址(此处我以自己的项目地址作为示例) 我们选择红圈处的clone or downlo ...

  8. 使用git在gitlab上拉取代码的方法

    最近在项目中用到了gitlab,他是一个类似于github的代码托管工具. 因为是第一次使用还不太熟悉,所以在此记录一下. 1.首先需要使用github的注册账号登录gitlab,查看右上角用户头像处 ...

  9. 使用Jenkins的Git Parameter插件来从远程仓库拉取指定目录的内容

    更换插件安装源 系统管理---插件管理---高级---升级站点,把默认的插件下载地址换成下面这个: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updat ...

随机推荐

  1. [1.6W字] 浏览器跨域请求限制的详细原理分析&寻找一种最简单的方式实现XHR跨域(9种方法, 附大招可以纯前端实现跨域!)

    Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...

  2. ReentrantLock可重入锁lock,tryLock的区别

    void lock(); Acquires the lock. Acquires the lock if it is not held by another thread and returns im ...

  3. Docker创建Nexus

    docker-compose.yml 注意为/usr/local/docker/nexus/data授权读写权限! version: '3.1' services: nexus: restart: a ...

  4. 使用VC6.0开发COM组件 - 傻瓜式,不讲理论,只讲实例

    1.创建一个ATL COM AppWizard工程,如图:

  5. Semaphore 的使用思路

    转自:https://www.cnblogs.com/klbc/p/9500947.html 最近在看一本书<Java并发编程 核心方法与框架>,打算一边学习一边把学习的经验记下来,所粘贴 ...

  6. 十四:Servlet3.0的动态

    动态的创建是为了简化配置文件的.对于我们创建的servlet,filter和listener后可以使用.这也是注解的另外一种替代方式. package com.hotusm.dynamic; impo ...

  7. 【C#】Enum,Int,String的互相转换 枚举转换

    Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型.如果没有显式声明基础类型,则使用 Int32.编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举. 注意:枚举类型的基 ...

  8. js之window对象(慕课网学习笔记)

    javaScript定义了一个变量一个函数都会变成window中的一个成员 var a=1; alert(window.a) //会输出a的值 window基础 创建窗口.调整窗口.移动窗口.关闭窗口 ...

  9. 2018.7.31-2018.8.2记:关于maven

    maven的使用,用得好,则省力省事,但是用不好则会造成一堆莫名其妙的错误,maven在使用的时候,jar包下载异常终止尤为需要注意,很容易就终止了,并且会出现一些下载出空jar包的情况,即:jar包 ...

  10. [题解] SPOJ GSS1 - Can you answer these queries I

    [题解] SPOJ GSS1 - Can you answer these queries I · 题目大意 要求维护一段长度为 \(n\) 的静态序列的区间最大子段和. 有 \(m\) 次询问,每次 ...