一、git简介及安装
1、git简介

Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine, U-boot 等,详情看http://www.kernel.org/git 作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它适用于 Linux / Unix 和 Windows 平台。

2、Git 官方文档:

Tutorial, core-tutorial 和 Everyday GIT


3、Git的作用:

同步两台机器的文档、有效管理代码、管理代码开发版本、查看代码修改情况和作为项目备份使用。


4、Git的安装:

1)在线安装:

#sudo aptitude install git git-core git-doc git-gitk

2)下载安装:

下载git-1.7.6.tar压缩包

进入解压后的目录

使用命令:

#.configure

#make

#make install

比较这两种安装方法,第二种方法只可以使用git相关命令,但是没有提供在线帮助查询。需要在线帮助的话,需要使用第一种安装方法。


二、git的使用过程
1、Git工作流程:

 
2、git工作举例:

 
1>一个项目开发过程:

例如:一个开源项目有项目负责1人A表示,4个分管模块组长g1,g2,g3,g4表示,20个程序员p1,p2,p3...。 
单某个程序员p1增加程序功能,而这个代码对应的组长是g1,经过g1功能可以进入项目并请求项目负责人A进入代码。 
则流程如下。 
1)p1克隆项目代码。git clone 
2)p1修改代码,测试,确认ok,然后commit到自己的本地仓库。git commit 
3)给分模块组长g1发email,请求添加功能。 
4)g1确认这个代码不错,可以进入代码。将代码加入自己的子项目或给p1权限进行push操作到自己的电脑上。 git push 
5)g1发email通知项目负责人添加功能。 
6)g1将自己的子模块最新代码push到自己的分支 git push  
7)项目负责人A进行合并分支操作,p1添加的代码进入项目。git merge

 

2>对于个人用来维护自己的代码则类似: 
例如: 
1)建立两个目录 (代码仓库、工作目录)
2)在自己/home目录建立一个目录作为自己的代码仓库,比如说是/home/git,然后执行git init操作。
3)在自己/home建立一个目录作为自己的工作目录,比如说是/home/workspace,然后进入工作目录执行 git clone -l /home/git 。

4)然后进入workspace的git目录,把自己的项目存在这里,其中有 git add,git commit操作。 
5)觉得自己的代码可以了,git push origin master,这个时候你的项目代码进入仓库(origin表示,master表示)。 
6)建议你的git仓库建立别的分支,然后和master分支合并

git简介及使用方法的更多相关文章

  1. Git简介

    Git从入门到学会 Git简介 Git是什么? Git和SVN一样都是一种高效的管理代码的系统. Git是目前世界上最先进的分布式版本控制系统(没有之一). 创建版本库 什么是版本库呢?版本库又名仓库 ...

  2. Linux下Git和GitHub使用方法总结

    来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到G ...

  3. git两种合并方法 比较merge和rebase

    18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用m ...

  4. git 的简单使用方法

    git 的简单使用方法1. 服务器 安装完成2. ssh 中的账号创建完成3. 创建 ssh 账号,会在 ssh 的安装目录下的home 目录里面,多了用户家目录4. 进入该目录 ,创建一个新的文件夹 ...

  5. NetCat简介与使用方法

    精品学习网考试频道小编应广大考生的需要,特为参加考试的考生策划了“NetCat简介与使用方法”专题等有关资料,供考生参考! 在入侵中它是最经典的工具之一 ,NetCat被所有的网络安全爱好者和研究者称 ...

  6. 一、Git简介

    由于工作需要,代码版本控制工具由SVN换为了Git.Git对于我来说,很陌生,不清楚其工作原理,所以查询了一些资料,将自己所得知的内容来汇总一下,梳理一下这方面的知识,同时也给其他想了解Git的童鞋们 ...

  7. 【学习总结】Git学习-参考廖雪峰老师教程一-Git简介

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  8. Git简介及安装

    1 Git简介 Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码 ...

  9. 转:git合并冲突解决方法

    git合并冲突解决方法 1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit注意 ...

随机推荐

  1. ACM 畅通工程2

    Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到 ...

  2. 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境

    我的环境:虚拟机是:VMware-workstation-full-8.0.0-471780.exe:Linux系统用的是:CentOS-7-x86_64-Minimal-1503-01.ios;(阿 ...

  3. EntityFramework Core 自动绑定模型映射

    笔者最近在和同事共同开发项目时,需要从他们提供的包含数据库实体类型的类库中读取实体信息绑定到自己的项目中(但是都在同一个解决方案里),所以很直接的一种方式就是把项目中所有的实体都以 public Db ...

  4. [OpenCV] GpuMat and Mat, compare cvtColor perforemence

    Introduction I am going to measure the performence of my two GT650M and compare GPU with CPU version ...

  5. Maven插件详解

    插件与插件目标 Maven定义了三套相互独立的生命周期,每套生命周期都有多个生命周期阶段,而这些阶段都是抽象的,不做任何工作.真正完成工作的是绑定在生命周期阶段的插件目标.插件以独立的构件形式存在,一 ...

  6. 指令汇B新闻客户端开发(三) 下拉刷新

    现在我们继续这个新闻客户端的开发,今天分享的是下拉刷新的实现,我们都知道下拉刷新是一个应用很常见也很实用的功能.我这个应用是通过拉ListView来实现刷新的,先看一张刷新的原理图 从图中可知,手指移 ...

  7. Swift函数柯里化(Currying)简谈

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面简单说说Swift语言中的函数柯里化.简单的说就是把接收多 ...

  8. 01_Eclipse的使用方法

     1 选择工作站 Workspace:表示工作站 2 切换工作站 选择工作站的方式:File->SwitchWorkspace 这里选择其他的工作站 清除工作站的方式: 找到MyEclips ...

  9. C/C++的mem函数和strcpy函数的区别和应用

    mem系列函数是面试的时候常考的知识点,我们需要熟练掌握这三个函数的原理和代码实现,要能准确无误的写出代码. memcpy.memset和memset三个函数在使用过程中,均需包含以下头文件: //在 ...

  10. javascript中的AJAX

    兼容地获得XMLHttpRequest对象: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpReque ...