热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

git远程协作流程

远程协作角色:服务器,开发者A,开发者B分支策略:如图,服务器上运行的是master分支,是用

远程协作角色:服务器,开发者A,开发者B

分支策略:

如图,服务器上运行的是master分支,是用来运行稳定版本的,在服务器的master下创建一个新的分支dev:

$git checkout -b dev
Switched to a new branch 'dev'$git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, usegit push --set-upstream origin dev

我们会发现,远程分支现在只有master分支,并没有dev分支,所以根据提示我们执行:

$git push --set-upstream origin dev
To http://xx.xx.xx/xxx.git* [new branch] dev -> dev
Branch dev set up to track remote branch dev from origin.

至此,dev分支创建并提交完毕

dev分支是用来给A和B做开发测试用的,测试没有问题后,再和master分支合并,这样服务器上就可以运行新稳定版本了

 

然后,开发者A拉取服务器上的dev分支,这里有两种方法:

(1)、先在开发者A上创建dev分支,然后拉取发现问题:

$git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.git pull If you wish to set tracking information for this branch you can do so with:git branch --set-upstream-to=origin/ dev

原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接:

$git branch --set-upstream-to=origin/dev dev

问题解决;

(2)在本地没有dev分支的情况下,直接拉取远程的dev分支:

git checkout -b dev origin/dev

问题解决;

 

接着,开发者A要在自己的机器上创建devA

$git checkout -b devA

接着,在devA分支上写了代码后,开发完成,要提交了:

$git add *
$git commit -am "branch test"
$git push --set-upstream origin devA
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 288 bytes | 288.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To http://xx.xx.xx.xx/xxx.git* [new branch] devA -> devA
Branch 'devA' set up to track remote branch 'devA' from 'origin'.

这样,就把代码提交到远程的devA分支了

 

开发者B在自己的机器下也和开发者A同样的操作

然后,开发完了,要开始测试了,就要将devA和devB分支合并到服务器上的dev分支,接下来是在服务器上的操作:

$git checkout -b devA
$git branch --set-upstream-to=origin/devA devA
$git pull
$git checkout dev
$git merge devA

这样,就把devA的分支合并到dev了,可以在dev分支上运行代码测试了,只是有可能发生代码冲突,这样就只能解决了冲突再合并,解决冲突教程:https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344

 

同样的道理,当dev分支测试完了,稳定之后,就将dev合并到master分支上


推荐阅读
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • ***byte(字节)根据长度转成kb(千字节)和mb(兆字节)**parambytes*return*publicstaticStringbytes2kb(longbytes){ ... [详细]
  • 本文介绍了在Cpp中将字符串形式的数值转换为int或float等数值类型的方法,主要使用了strtol、strtod和strtoul函数。这些函数可以将以null结尾的字符串转换为long int、double或unsigned long类型的数值,且支持任意进制的字符串转换。相比之下,atoi函数只能转换十进制数值且没有错误返回。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
  • 本文介绍了关于Java异常的八大常见问题,包括异常管理的最佳做法、在try块中定义的变量不能用于catch或finally的原因以及为什么Double.parseDouble(null)和Integer.parseInt(null)会抛出不同的异常。同时指出这些问题是由于不同的开发人员开发所导致的,不值得过多思考。 ... [详细]
  • 流数据流和IO流的使用及应用
    本文介绍了流数据流和IO流的基本概念和用法,包括输入流、输出流、字节流、字符流、缓冲区等。同时还介绍了异常处理和常用的流类,如FileReader、FileWriter、FileInputStream、FileOutputStream、OutputStreamWriter、InputStreamReader、BufferedReader、BufferedWriter等。此外,还介绍了系统流和标准流的使用。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • vb6集成ad登录共享文件_SCSP实验2单点登录
    01—实验目的掌握单点登陆相关原理和深信服配置02—实验环境1.AC版本v12.0.42AC1地址:https:172.172.1.1AC2地址:htt ... [详细]
author-avatar
無名--小貞貞貞貞貞貞貞貞_微博_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有