使用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. 手把手写一个html_json信息源

    html_json用于从网页里提取json数据. 这里用新浪读书的书讯举个例子,手把手写一个html_json信息源. 打开新浪读书的首页,可以看到页面下方有最新.书讯.童书.小说等几个Tab,这里我 ...

  2. oracle数据库从入门到精通

    oracle产品线围绕企业开发平台的企业开发平台四大组件:unix,weblogic中间件,java编程语言,oracle数据库oracle 开发主要分两类数据库管理:dba数据库编程:分两部分   ...

  3. 长文丨papi、咪蒙、罗胖之后,内容创业的机会在哪儿

    一.内容的一年 app死了,内容永生! 2016年,创业圈画风突变,昨天还在激辩java和PHP谁更好的技术宅们.还在梦想着成为第二个乔布斯改变世界的产品狗们.还在忽悠着用O2O横扫传统行业的小老板们 ...

  4. 入侵本地Mac OS X的详细过程 转自https://yq.aliyun.com/articles/22459?spm=5176.100239.blogcont24250.10.CfBYE9

    摘要: 本文从提升权限漏洞的一系列巧妙的方法来绕过受保护的Mac OS X.有些已经被处于底层控制,但由于它们存在着更多的认证和修补程序,我们不妨让这些提供出来,以便需要的人学习它们.虽然我不只是要利 ...

  5. Java Web 编程

    Java Web 编程 21天学通JAVA-WEB开发:http://files.cnblogs.com/files/maven-chao/Java_Web.zip

  6. [PHP] - Laravel - 用户登陆中间件

    前言 Laravel 4中,可以使用Route::filter,而在Laravel 5中,没有了filter.php文件,官方建议使用中间件做. 下面是用户登陆的测试例子,涉及到的一些方法和使用,先参 ...

  7. sql server2008 检查是否需要挂起计算机重新启动。挂起重新启动会导致安装程序失败。

    解决方法: 1.如果重新启动后,一样无效, 2.那么就进入注册表编辑器,通过修改注册表的方法来解决.除了删除SQL安装时遗留下的LJ文件,还必须进行以下操作: 在"开始"-&quo ...

  8. MyBatis学习(四)、MyBatis配置文件

    四.MyBatis主配置文件 在定义sqlSessionFactory时需要指定MyBatis主配置文件: <bean id="sqlSessionFactory" clas ...

  9. C#Random函数在循环中每次获取一样的值

    首先需要了解一点Random函数的随机生成是和当前时间有关系,如果在短时间生成随机数,就会导致随机数生成出来是相同的. 不过我们可以在每次随机时指定一个Seed种子值,这样在循环里就可以每次获取不一样 ...

  10. HTML input-file 上传类型控制

    HTML input-file 上传类型控制 input file 属性 accept 表示可以选择的文件MIME类型,多个MIME类型用英文逗号分开,常用的MIME类型见下表. 只能选择png和gi ...