用Git进行协同开发

用Git进行协同开发

问题场景描述

常常会遇到这样的协同场景:后台的同事和前端的同事需要共同开发一个新功能,而他们的代码相互依赖,所以需要不停地更新各自的代码进行联调。

对于这种场景,最简单的方式就是,这 2 个同事坐到一起,然后把 svn 当作一个共享代码的中转站来共享开发中的代码。

在这种方式下,大家各自写自己的代码,提交到 svn 上,然后用 svn up 获得对方的代码。在调试问题的时候,大家可能不停地更新代码,然后让对方用 svn up 来更新。最终,虽然开发能够顺利进行,但是 svn 上会积累大量调试中的代码历史。所以,这样把 svn 当作代码中转站是一个很山寨的行为。

在开发 有道云笔记 新的 iPad 版 时,我和前端同事 zyc 尝试用 git 进行了协同开发。在这里把具体方案分享给大家,欢迎大家讨论。

Git 相关协议介绍

Git 对于你本机的代码项目,允许用很方便的方式进行非授权的只读访问 ,相关介绍链接。简单来说,就是可以用 Git 自带的 Git daemon 命令在本机的 9418 端口启动一个守护进程,然后其它机器就可以以只读方式访问你开放出来的项目代码。

具体步骤如下:

  • 在你的 Git 工程下新建一个名为 git-daemon-export-ok 的文件放到 .git 目录下,表明该工程允许非授权访问。示例代码如下:
cd /path/to/project.gittouch git-daemon-export-ok
  • 执行 git daemon 命令,设置你要 Export 出的项目目录的父目录,例如工程的代码地址是:/opt/git/project 的话,则示例代码如下:
git daemon --reuseaddr --base-path=/opt/git/ /opt/git/
  • 告知对方你的机器的 IP,然后在对方的机器,用下列命令即可检出你的代码:
git checkout git://your_ip_address/project
  • 如果对方有更新,只需要 git pull 一下。

协作

对于这种基于 Git 的协作,我们可以在本地随意的提交代码,让对方用 git pull 更新。当开发完成,需要 push 到公共仓库的时候,再用 git rebase -i 将本地的提交进行清理即可。并且由于大家都是在机器间互拷,不依赖 svn 公共服务器,更新代码的速度也要快得多。

时间: 2024-10-11 21:15:07

用Git进行协同开发的相关文章

使用Git分支协同开发

原创,文章链接:http://blog.csdn.net/u012150179/article/details/37966741 大型软件项目开发中,多分支的使用不仅能够并行开发多模块任务,也避免了Bug修正时引入新功能代码或是误删Bug代码造成以修复问题重现,更清晰的'组织'项目的开发. 新建的分支一般都属于以下三个范畴内:发布分支(Bugfix分支).特性分支和卖主分支. 一.发布分支 发布分支主要用作对之前提交代码的Bug修正,使修正过程和主线功能开发能够并行开展. 二.特性分支 特性分支

使用Git进行协同开发

用了一段时间github,一直想用时间来对git的使用来做一段笔记,前段时间比较忙,现在沉下心来学习也是极好的. 很多项目开发会采用git这一优秀的分布式版本管理工具来进行项目版本管理.因为git的使用非常灵活,所以在实际操作中会有许多不同的工作流程.不同团队对于不同项目会有不同的协作方式.掌握git版本管理开发,对以后的学习和开发都有很多好处. 首先基本名词要懂: 仓库(Repository).分支(branch).工作流(workflow) 1. 仓库(Repository) 在项目的开始到

Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库.友情提示:在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改).所以,不要把敏感信息放进去. 远程仓库的好处: 1.我们可以随时随地的与仓库建立连接,以实时存放我们开发的内容: 2.与他

华为如何实现基于Git的跨地域协同开发

跨地域开发的需求其实由来已久,在IT/互联网发展的早期就已存在,只不过限于当时网络环境的因素,无法在线上有效的完成协同工作,所以没法实际开展.而随着近十年网络的快速发展,跨地域协同开发线变得可能而且越来越普遍,尤其是在大公司内部. 同时随着行业的发展,敏捷开发模式的不断推广,软件交付和更新的速度越来越快,特别是移动互联网产品,几乎每天都有更新.所以在这种背景下,如何保证在跨地域协同开发场景下产品的快速迭代和交付成为各IT/互联网公司不断探索的内容. 跨地域协同开发的痛点 华为公司目前在全球各地共

git协同开发

Github之协同开发 一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来.所以, 为每一个人创建一个分支,各自都在各自的分支上写代码,互不影响. 很短时间内大家暂时先合并一次,不然冲突太多了.但是这个分支不是dev,而是review分支,当老大看完没问题之后再合并到dev分支. 二.协同开发的两种方式: 方式一:创建协作者和组织: 方式二:添加组织 三.

Git协同开发操作+github

Git git是一个用于帮助用户实现版本控制的软件 第一阶段:在美国进修的日子 1.命令: git  init git  status  查看当前文件夹的状态   全部红色 git  add+文件名 对指定文件进行版本控制 当前文件名变绿色 git  add .     对指定文件夹下的所有文件及子目录进行版本控制  所有变绿 git  commit -m '详细的描述信息'   创建提交记录 git  log     查看所有提交记录  当前版本之前上一个版本的信息,之后的就没有 git  r

?git?-----协同开发,冲突解决 合并分支(项目中使用git)

使用基本流程 """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3.将开发结果提交到本地版本库 - git status查看时没有待处理的事件 4.拉取远程仓库(每一次要提交远程仓库前必须先拉) 5.如果出现冲突,线下沟通(协商重新开发冲突文件),要重新走3.4步 6.没有冲突,提交到远程仓库 """ 协同开发 """ 1)所有人在一个分支上进行开发 - 通常开发分支名为dev 2)遵循git开发流程:先提交本

HelloX项目github协同开发指南

概述 为了提高协同开发效率,HelloX项目已托管到github站点上. 依据眼下的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-project/HelloX_Kernel.git HelloX操作系统GUI模块项目:https://github.com/hellox-project/HelloX_GUI.git 面向STM32的移植版:https://github.com/hellox-project/HelloX_STM3

怎样在github上协同开发

How to co-work wither parter via github. Github协同开发情景模拟 Github不仅有很多开源的项目可以参考,同样也是协同开发的最佳工具,接下来的就模拟一下协同开发的过程. 项目发起者:koffuxu 项目贡献者之一:xugangfeng 1,koffuxu发起了一个项目,然后发布到github上,邀请xugangfeng来协同开发 1.1 在github上 New Repository 1.2 在koffuxu的服务器clone下这个reposito