`
wayfarer
  • 浏览: 297641 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Git

阅读更多

1. 定义

Git是Linus Torvalds(Linux内核创始人)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件 ,它不同于Subversion、CVS这样的集中式版本控制系统 在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中 (其他主要的分布式版本控制系统还有Mercurial、GNU Arch、SVK等),每一个工作目录都包含一个完整仓库 ,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。

 

2. 相比Subversion的优势
(1)更方便的 Merge
分布式管理必然导致大量的Branch和Merge操作,因此分布式版本控制系统都特别注意这方面。在传统的CVS里面制作Branch和Merge简直就是噩梦,Subversion 作为一个用于替代CVS的系统,专门改进了Branch操作。然而似乎人们没有注意到,Branch是轻松了,可是Merge呢?如果不能很方便地Merge回来,做Branch仍然是噩梦。事实上,我就经历过在开发团队里面由于队友操作不对而在Merge的时候把我的许多代码都覆盖掉了。当时正是使用的subversion。虽然源代码仍然在历史里面,但是要去一个一个地找出被覆盖掉的文件并恢复过来确实是一件很难忘的事情。
(2)更方便的管理
传统的版本控制系统使用中央仓库,仓库相关的管理就只能在中央仓库上进行。赋予开发团队每一个人中央仓库的管理权限是非常不好的
(3)更健壮的系统
分布式系统一般情况下总是比单服务端的系统要健壮,因为单服务端一旦服务器挂掉了整个系统就不能运行了。然而分布式系统通常不会因为一两个节点而受到影响。
(4)对网络的依赖性更低
虽然现在网络非常普及,但是并不是随时随地都有高速网络。低速的网络会让人心情烦躁,有时候就呆呆地盯着屏幕上的commit进度什么事情也干不了。而没有网络连接更是致命的:你无法commit!这表示你进行任何改动以前都必须小心翼翼,否则你可能再也找不会你曾经写的一些代码了。
(5)更少的“仓库污染”
有时候你要做一个模块,它不是太大,所以没有必要为它新建一个 branch ,但是它又不是那么小,不可能一次提交就做好。于是便会提交一些不完整的代码到仓库,有时候会导致整个程序无法运行,严重影响团队里其他人的开发。大多数人在这种情况下的解决办法都是写完之后再提交。但是作为习惯了版本控制的人来说,进行不计后果的大幅修改是经常的事情,到后来突然发现自己先前的代码没有提交,就后悔莫及了。如果是分布式系统的话就不会存在这样的问题,因为本地仓库的修改不会影响到别人的仓库。当你完成并测试以后,就可以在邮件列表里面说:我已经把这个模块做好了。然后感兴趣的人就可以从你这里pull你的成果了。

 

3. 下载android源码

http://rubynroll.iteye.com/blog/203133

http://www.iteye.com/topic/476635

http://www.williamhua.com/2009/04/29/git-and-repo-for-dummies/

http://ghostsun.iteye.com/blog/352721

分享到:
评论

相关推荐

    linux系统安装git及git常用命令

    1 安装GIT 代码如下:$ sudo aptitude install git$ sudo aptitude install git-doc git-svn git-email git-gui gitk git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,...

    git压缩包下载git下载

    Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发代码并跟踪每一次更改。"git压缩包下载git下载"这个标题和描述可能指的是提供Git的安装程序压缩包的下载服务。在本篇中,我们将深入探讨Git的核心...

    GIT 压缩包 适用于压缩包式安装git

    接下来,你可以学习基本的Git命令,如`git clone`(克隆远程仓库)、`git add`(暂存更改)、`git commit`(提交更改)、`git push`(推送本地更改至远程仓库)和`git pull`(拉取远程仓库的更新)等。 总的来说,...

    git安装包git-2.34.0-64-bit.rar

    4. **命令行基础**:Git主要是通过命令行工具使用的,掌握常用的命令如`git clone`、`git add`、`git commit`、`git push`、`git pull`等是必不可少的。 5. **分支管理**:Git的分支机制强大且灵活,允许快速创建和...

    Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.37.3-64-bit_3Git-2.3

    对于团队项目,可以使用`git clone`下载远程仓库,`git pull`同步远程更新,`git push`推送本地更改,以及`git fetch`和`git merge`或`git rebase`来整合远程分支。 总之,Git-2.37.3-64-bit_3.exe是Git的64位...

    windows64位git安装包

    Git是分布式版本控制系统,它在软件开发领域尤其是开源项目中起着至关重要的作用。Windows 64位Git安装包是专门为64位Windows操作系统设计的Git版本,确保在该平台上高效稳定地运行。官方下载的Git安装包可以保证其...

    Git GitExtensions KDiff3

    Git是世界上最流行的分布式版本控制系统,它允许开发人员追踪和管理代码变更,协同开发项目。Git-2.21.0-64-bit.exe是Git的一个64位版本,包含了最新的2.21.0更新,提供了高效能和稳定性的改进。安装这个文件,用户...

    Keil配置Git教程

    标题“Keil配置Git教程”指明了本文主要讨论的内容是关于如何在Keil开发环境中配置Git以进行软件项目的版本控制管理。Keil是一款常用于嵌入式系统开发的集成开发环境(IDE),而Git则是一种流行的分布式版本控制系统,...

    学习git和gitbash使用的一些详细操作

    Git是一个分布式版本控制系统,它最初由Linus Torvalds在2005年创建用于管理Linux内核的开发。Git的目的是快速高效地处理从小型到大型项目的所有事务。Git不仅是一个版本控制工具,它更是一个内容管理系统或文件系统...

    Git for Windows 2017 最新版,Git-2.15.0

    Git for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...

    git客户端离线安装包

    常见的命令包括`git init`用于初始化新的Git仓库,`git clone`用于复制远程仓库到本地,`git add`用于将文件添加到暂存区,`git commit`用于提交更改,`git push`用于将本地更改推送到远程仓库,以及`git pull`用于...

    GitBash和GitGui右键失效解决方法

    6.选中 Git GUI Here 右键新建(项),并重命名为command,command的值设置为 D:\Program Files\Git\cmd\git-gui.exe --working-dir %v,其中--working-dir和git-gui.exe之间有空格,--working-dir和%v之间也有空格 ...

    最新Git与Github首篇巨作课程 Git&Github极速入门与攻坚实战结合课程 一次搞定Git.txt

    Git与Github教程详细介绍了Git的工作机制,Git命令行的基础学习,Git-Eclipse和Nginx的准备工作,Git与Github分支体系,Git与Github的远程和本地工作原理,Git与Github克隆实战和最后的课程精华总结部分,可以帮助...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...

    Git权威指南PDF完整版

    Git权威指南 目 录 前 言 第1篇 初识Git 第1章 版本控制的前世和今生/ 2 1.1 黑暗的史前时代/ 2 1.2 CVS—开启版本控制大爆发/ 5 1.3 SVN—集中式版本控制集大成者/ 7 1.4 Git—Linus 的第二个伟大作品/ 9 第2章 ...

    Git使用手册.pdf

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更。Git的使用涉及多个步骤,从安装到日常操作,每个环节都有其特定的命令和流程。 首先,安装Git非常简单,可以从Git官方网站...

    Gitblit搭建及Git协作开发流程参考

    Gitblit搭建及Git协作开发流程参考 本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码...

    git创建服务器端

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,从而实现高效的协作和版本控制。本教程将深入讲解如何在自己的计算机上创建一个Git服务器端,建立远程代码仓库,以便团队成员可以进行协作...

    git客户端、服务端安装、代码上传和eclipse安装git插件

    git 客户端、服务端安装、代码上传和 Eclipse 安装 Git 插件 git 客户端安装是在使用 Git 版本控制系统的第一步。安装客户端可以从官方网站下载安装包,或者使用包管理器进行安装。例如,在 Windows 平台上,可以...

    gitblit-1.9.3.zip

    Gitblit是一款开源的、轻量级的Git服务器管理工具,专为个人和小型团队设计。这个"gitblit-1.9.3.zip"压缩包包含的是Gitblit的1.9.3版本,适合在Windows操作系统上安装。由于官方下载速度可能较慢,这里提供的链接...

Global site tag (gtag.js) - Google Analytics