p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #3e3e3e; background-color: #efefef }
span.s1 { }

前言:在git管理前必须得有一个仓库仓库可以是专门的服务器,也可以是一台外网能访问的电脑里做为版本仓库 在这之前 如果您没有自己的版本仓库 搭建一个Gitlab也是一个不错的建议

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #3e3e3e }
span.s1 { }

在这之前,得有一个裸仓库(就是 这个是相对于工作目录而言的,工作目录中有正常编辑的文件,而bare repository只存放这些文件的commit。)

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #3e3e3e }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px "Helvetica Neue"; color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #3e3e3e; min-height: 18.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px "Helvetica Neue"; color: #ffffff; min-height: 23.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #3e3e3e; background-color: #efefef }
span.s1 { }
span.s2 { background-color: #3f3b3a }

初始化一个裸仓库

git init --bare

一、拉取远程仓库

git clone git@git.blog8090.com:Diuge/blog.git

二、创建本地子分支

*(每个开发人员在自己的本地子分支上开发,推送远程分支也是推送到远程的子分支而不是master)*

gitcheckout-b自己的分支名称(本地子分支)

三、提交版本过程

gitadd.(或者某些文件名)

gitcommit-m"发布版本名称"('如:订单模块完成')

如果不是新建的文件或文件夹可以使用连贯命令提交

gitcommit-am"发布版本名称"('如:订单模块完成')

提交完成正常后,可以提交到自己的远程分支

gitpushoriginlvchang(本次远程和本地子分支暂定开发人员名字)

四、拉取远程版本

gitfetch(查看远程提交的版本)

gitmergeorigin/master(master或某个子分支名称拉取远程资源到本地)

五、其他常用命令

gitbranch(查看本地分支和自己所在位置)

gitstatus(查看文件情况)

gitdiff(查看拉取版本和本地版本冲突的地方)

gitrm(如果add.出现失误需要把某个文件移除出提交时使用)

gitmvoldnew(文件移动,理解为改名,解决大小写问题)

六、版本管理思路

1 小组每个开发人员建立自己的本地子分支,上传代码到远程子分支。

2 正常情况下每天下班之前30分钟~1小时,(正常情况下一天一次,特殊情况可以提出多次上传)上传代码,一人负责整合所有人的分支代码,测试无问题,则提交到远程origin master分支。(保持每天早上 远程主分支都是最新的)

3 每天早上来后先等待整合代码完成后,拉取主分支和子代码后再继续开发。

Ps:git版本管理没有一个绝对标准的版本,每个团队都因项目或管理者习惯而异,只要能管理好多人(团队)的版本管理就是一个不错的方法;以上只是提供管理思路(也可以套用)。如果您的团队已有一套成体系的版本管理规则,可以借鉴。

git 管理的更多相关文章

  1. 用git管理源代码

    自从做iOS开发的一年多以来,之前一直都是用svn进行代码管理.因为工作需要,我也开始用git管理源代码.关于git的基本使用,在此做一个详细的介绍,希望能对初次接触git的人有所帮助! 本篇博客针对 ...

  2. Linux下,使用Git管理 dotfiles(配置文件)

    1.管理你的 dotfiles 作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿.这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们 ...

  3. 使用 Git 管理源代码

    在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发.源代码管理(SCM)系统不是什么新思想.为了编写一些能够更快速.简单地开发以后软件项目的软件,已经进行了很 ...

  4. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

  5. git管理工具的使用教程

    Git入门教程 1.   概述     对于软件版本管理工具,为什么要选择Git?      你真正学会使用Git时, 你就会觉得这个问题的回答是非常自然的.然而当真正需要用文字来回答时,却觉得文字好 ...

  6. git管理和自动部署项目

    当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来 ...

  7. git管理修改

    为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改 ...

  8. Git管理工具对照(GitBash、EGit、SourceTree)

    Git管理工具对照(GitBash.EGit.SourceTree) GitBash是採用命令行的方式对版本号进行管理,功能最为灵活强大,可是由于须要手动输入希望改动的文件名称,所以相对繁琐. EGi ...

  9. 怎么样eclipse发达国家多重聚合关系maven项目和使用git管理

    最近使用的项目的开发maven,多于maven有项目之间有一定的联系,因此,创建一个单独的,然后,maven聚合管理. 项目采用git要管理代码.由于上传的代码集时,.gitignore不要上传文件. ...

随机推荐

  1. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...

  2. Linux目录结构

  3. Node.js Express连接mysql完整的登陆注册系统(windows)

    windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...

  4. Centos 7.0 安装Mono 3.4 和 Jexus 5.6

    2013-07-26 写过一篇<CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4>,CentOS 7在CentOS 6的基础上有很大的调整,本文是这篇文章的更新,主要介 ...

  5. 为什么房间的 Wi-Fi 信号这么差

    最近把家里主卧整成了个小影院,由于之前房子装修时网线端口与电源插口布置太少,导致家庭网络架设变得麻烦起来,最后终于通过「无线中继」技术达到了全屋满格 Wi-Fi 的效果. 在 Wi-Fi 架设过程中, ...

  6. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  7. ASP.NET MVC 5 Web编程3 -- Controller的应用及扩展

    Controller基础 一. 访问修饰符 1.1 类的访问修饰符 Controller类的访问修饰符必须是public,url才能被拦截. internal能编译通过,但无法拦截url请求.priv ...

  8. 物联网实验4 alljoyn物联网实验之手机局域网控制设备

    AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用.高通已经将该项目捐赠给了一个名为“AllSee ...

  9. Linux下UPnP sample分析

        一.UPnP简介   UPnP(Universal Plug and Play)技术是一种屏蔽各种数字设备的硬件和操作系统的通信协议.它是一种数字网络中间件技术,建立在TCP/IP.HTTP协 ...

  10. Go语言实战 - revel框架教程之缓存和Job

    所有的网站应该都会有一个非常简单的需求,首页一秒之内打开. 满足的方式主要有两种: 页面静态化,效果最好,对服务器基本没负担,只要带宽足够就好了.我知道一个PV过亿的站点就是全站静态(以前新浪也是), ...