使用Git实现多人协作开发

1.简述

  每创建一个大的web项目都会有团队协作完成, 然这个过程有可能就像毕业生写论文的过程, 这个过程会有很多...修改的版本, 我们的项目也是会经过无休止的改需求, 改需求...最终定稿,完成项目终极版。

   首先, 它的工作原理: 一个git版本库服务器, 程序员们在自己的电脑上的git版本进行常规开发, 所有的git管理按照单人开发就ok, 然后将完成的工作push(推送)给服务器(注意: 如果该程序员的版本不是最新的, 需要先从git服务器pull(拉去)最新版本,然后再push ), 然后别的程序员想获取新的版本也是pull就行了. 这里第一次pull的时候,可能会出现一个问题 : 报错 .....下面涉及到的时候我们会详细说明的。

  这里先将几个概念: 工作区 版本库 暂存区 分支

    项目包括 : 版本库和工作区

    工作区包括 : 暂存区和 master分支

版本库                     工作区

2.步骤如下:

1). 项目经理在gitServer文件目录下建立一个git裸服务器;

git init --bare  显示如下 :

2). 小组各位程序员将该裸服务器clone(克隆)到本地;

甲程序员:

git clone git服务器的绝对路径/url  显示如下:

生成一个含有.git文件的文件夹gitServer(和git服务器根文件名相同)

乙程序员做和甲程序员相同的操作;

3).甲程序员更改项目, 并合并到git服务器的过程

①打开本地git库目录到.git同级目录下,新建一个jia.html

②鼠标右击, 打开Git Bush Here

③将jia.html添加到工作区中的缓存区

git add 文件名  显示如下:

④将缓存区中的内容提交到git服务器的master分支

git commit -m 注释文字 显示如下:

4).乙程序员重复步骤3(不同之处是: 新增文件名为 yi.html)

如图:

5). 这时重点来了, 怎么样让甲的本地项目获取到乙新增的文件yi.html呢 ? 首先乙要先push,把新增的文件push(推送)到git服务器上,而且为了乙在推送之前要保证自己是最新版本, 乙要先 pull,就是从git服务器pull(拉去)最新版本(预防万一别的程序员已经对项目做了改变呢)

①乙拉去新版本

git pull

②乙把新增的yi.html文件push到git服务器

git push origin master

OK, 现在怎么让甲的本地项目中也有yi.html文件呢, 那么见证奇迹的时候到了

去甲的本地项目根目录下

git pull

那么问题来了, 它给我们报了一个致命的错误. 这个问题怎么解决呢?

这个时候注意: 我在一个国外的类似一个问答的网站stack overflow上找到了答案

这时, OK了, 甲的本地项目里面 出现了yi.html , success !!!

同理, 乙本地项目获取jia.html

git pull

OK, 就到这里, 我们已经完成了, 相信到这里我们已经了解了版本控制系统的强大, 和实际开发中的重要性了吧!!!

---初来乍到,知识欠缺,不足之处,欢迎指正...

Git--分布式版本控制系统的更多相关文章

  1. GIT分布式版本控制系统

    Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux ...

  2. Git ——分布式版本控制系统

    Git ——分布式版本控制系统 本人git主页地址:https://github.com/lendoon/test.git git使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所, ...

  3. 手把手教你玩转Git分布式版本控制系统! (转载)

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 Git诞生历史 ...

  4. 手把手教你玩转Git分布式版本控制系统!

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...

  5. g4e基础篇#2 Git分布式版本控制系统的优势

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

  6. GIT 分布式版本控制系统的简单使用介绍

    GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...

  7. 《Linux就该这么学》自学笔记_ch21_使用Git分布式版本控制系统

    <Linux就该这么学>自学笔记_ch21_使用Git分布式版本控制系统 文章主要内容: 分布式版本控制系统 使用Git服务程序 提交数据 移除数据 移动数据 历史记录 还原数据 管理标签 ...

  8. 开发效率优化之Git分布式版本控制系统(一)

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将先从Git分布式版本控制系统来阐述开发效率优化 一,企业 ...

  9. Git分布式版本控制系统(下)

    Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  10. Git分布式版本控制系统(上)

    Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

随机推荐

  1. the difference between const int *, int * const, int const *

    Some people may be confused about the sequence of const and * on declaration in C++/C, me too. Now I ...

  2. mysql order排序

    使用order by  可以对结果进行排序, 默认情况下,order by 以升序进行排序,因此ASC 子句是可选的. DESC 是降序排列. 升序 select * from emp where d ...

  3. 学习css中得与惑

    css的学习分享 所学的css知识看多,会看懂.这只是在实践中发现的问题:  一. ???h1比div还大  h1上下有边距   为什么浮动不了  (现不知道) 二. css写了 表现不出来.... ...

  4. MIT JOS学习笔记02:kernel 01(2016.10.28)

    未经许可谢绝以任何形式对本文内容进行转载! 在文章开头不得不说的是,因为这部分的代码需要仔细理清的东西太多,所以导致这篇分析显得很啰嗦,还请谅解. 我们在上一篇文章已经分析了Boot Loader的功 ...

  5. eclipse+spket+Extjs4.2.1开发环境搭建

    一.开发工具配置   1.http://www.eclipse.org/downloads/下载Eclipse,解压.         2.http://spket.com/download.html ...

  6. C#连接操作mysql实例

    第三方组件:Mysql.Data.dll说明:去官方网站下载Mysql.Data.dll,然后在项目中添加该组件的引用,在代码页里输入using Mysql.Data.MysqlClient,我们就可 ...

  7. KO中对象数组排序时,两个属性的优先顺序不一致时的排序实现

    function FromSort(left, right, asc) {    if (left.属性1 != "") {        if (right.属性1 != &qu ...

  8. [转]windows下编译及使用libevent

    http://www.cnblogs.com/luxiaoxun/p/3603399.html Libevent官网:http://libevent.org/ windows 7下编译: 编译环境:  ...

  9. 获取广告标识符ifad

    #import <AdSupport/ASIdentifierManager.h> NSString *adId =[[[ASIdentifierManager sharedManager ...

  10. windows下IIS+PHP解决大文件上传500错问题

    linux下改到iis+php后,上传大于2M就出500错,改了php.ini中的upload_max_filesize也不行,最后解决如下: 第一步:修改php.ini 上传大小限制 (以上传500 ...