git 操作 :从远程仓库gitLab上拉取指定分支到本地仓库;git如何利用分支进行多人开发 ;多人合作代码提交实践
- 例如:将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
- 克隆代码
git clone git@github.com:XX/master-dev.git #这个git路径是无效的,示例而已
- 查看所有分支
git branch --all
# 默认只有master分支,所以会看到如下两个分支
# master[本地主分支] origin/master[远程主分支]
# 新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
- 创建本地新的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分支代码一样;
- 在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 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: 自己的分支
- git checkout -b b origin/b 在本地新建一个与远程的分支b相同(被合并的版本)的分支b :该指令的意思:创建一个本地分支,并将远程分支放到该分支里面去。
- 如果测试环境用自己的分之的操作 :
- git pull origin b 将远程代码pull到本地
- git checkout a 返回到你的分支a
- git merge b 合并分支a与分支b
- git push origin a
- 如果测试环境用公共的分之的操作 :
- git checkout master ;git pull
- git checkout a ;git merge master
- git checkout b ;git merge a
- git push origin b
- 参考 https://blog.csdn.net/DeMonliuhui/article/details/78510678
git 操作 :从远程仓库gitLab上拉取指定分支到本地仓库;git如何利用分支进行多人开发 ;多人合作代码提交实践的更多相关文章
- git从远程仓库gitLab上拉取指定分支到本地仓库
例如:将gitLab 上的dev分支拉取到本地 1>与远程仓库建立连接:git remote add origin XXXXX.git 2>使用git branch 查看本地是否具有dev ...
- 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息
在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...
- idea从git上拉取并管理项目
1:idea从git上拉取项目 (1)FILE --> New --> Project from Version Control --> Git (2):输入项目的Https SSH ...
- git上拉取tag,识别最新tag在此版本上新增tag
通过shell 脚本自动获取最新tag,并输入最新版本后,推到git上 # 拉取分支上现有的tags git fetch --tags echo -e "所有tag列表" git ...
- git如何拉取指定分支的代码
问题背景: 新项目还在开发阶段,没有正式对外发布,所以开发同事合并代码到develop上(或者其他名称分支上),而不是到master分支上 通过git拉取代码的时候,默认拉取的是master分支,如下 ...
- 自动备份远程mongodb数据库并拉取到本地
自动备份远程mongodb数据库并拉取到本地 目标: 远程服务器 .1中的mongodb数据拉回公司测试服务器中 .远程服务器中编写自动备份mongodb脚本 ①编写脚本 # vim /opt/bac ...
- 从gitHub上拉取并运行项目
今天我们来试一下如何从gitHub上拉取一个项目并且运行起来,话不多说,我们直接开搞可好 1.首先我们先获取到项目地址(此处我以自己的项目地址作为示例) 我们选择红圈处的clone or downlo ...
- 使用git在gitlab上拉取代码的方法
最近在项目中用到了gitlab,他是一个类似于github的代码托管工具. 因为是第一次使用还不太熟悉,所以在此记录一下. 1.首先需要使用github的注册账号登录gitlab,查看右上角用户头像处 ...
- 使用Jenkins的Git Parameter插件来从远程仓库拉取指定目录的内容
更换插件安装源 系统管理---插件管理---高级---升级站点,把默认的插件下载地址换成下面这个: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updat ...
随机推荐
- miniFTP项目实战六
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
- Windows下安装RocketMQ
目录 前言 环境 具体操作 下载 环境变量配置 启动 关闭 生产.消费实例 RocketMQ Console 前言 项目中用到了延迟消息队列,记录下一win10下rocketmq的安装 环境 win1 ...
- 两个线程交叉打印一个打印A一个打印B 循环打印?
public static Object obj1 = new Object(); public static void printAB(){ Thread t1 = new Thread(() -& ...
- TaskAwaiter<TResult> 结构
参考网址:https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.compilerservices.taskawaiter-1?view= ...
- WPF教程(四)RelativeSource属性
我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding ...
- 【linux】less 命令详解
转自:https://www.cnblogs.com/GNblog/p/6932252.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极 ...
- chmod u+s是什么意思
今天突然不能su到root了,root密码是正确的,但是就是显示密码错误还有mount也不能在一般用户里用了,不管有没有设备,都说没有权限到google上搜索了一番,发现了这样一段:--------- ...
- Struts2之OGNL与ValueStack
时间:2017-1-12 12:02 --OGNL1.OGNL表达式是什么 OGNL的全称是Object-Graph Navigation Language的缩写,中文名是对象图导航语言,它是一 ...
- jdbc操作mysql(三):利用注解封装
案例五:利用注解封装 重复步骤 我们使用jdbc操作mysql时发现,操作不同表中数据,所写的方法基本相同:比如我们根据id向用户表添加数据,根据id删除商品表的数据,或者查询所有数据并用list集合 ...
- SpringMVC笔记(2)
一.SpringMVC的数据响应 1.1 数据响应方式 1.1.1 页面跳转 直接返回字符串 将返回的字符串与内部资源视图解析器的前后缀拼接 进行访问(默认为转发) 通过ModelAndView对象返 ...