转自:http://www.cnblogs.com/banjia/archive/2008/09/20/1294901.html
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,作者把他描述为一个“傻瓜式的版本管理系统”,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。使用GIT系统,不需要像SVN那样搭建一台SVN服务器来存放代码库。
一、为什么选择Git
对于流行的软件版本开源管理软件,元老级的CVS、后来新秀的SVN,今天我在CHIP.CN Dowload中看到了一篇文章:《2008年度最佳开源软件大奖》(http://download.chip.eu/cn/standardbeitrag_cn_3640079.html)。其中提到了GIT版本管理系统。
我很奇怪,为什么SVN没有入围并获奖呢?当初,我在从CVS转移到SVN时就曾经就SVN的一系列优势进行过一些粗浅的学习。SVN在版本库的管理上较CVS有明显的优势。那么与SVN相比,GIT的优势又在哪里呢?
经过强大的Google,我从网上找到了这些内容:
From 《Git入门教程》:(http://hi.baidu.com/eehuang/blog/item/37af8d54242d6351564e00b5.html)
1. 傻瓜都会的初始化,git init, git commit -a, 就完了。对于随便写两行代码就要放到代码管理工具里的人来说,再合适不过。也可以拿git做备份系统,或者同步两台机器的文档,都很方便。
2. 绝大部分操作在本地完成,不用和集中的代码管理服务器交互,终于可以随时随地大胆地check in代码了。 只有最终完成的版本才需要向一个中心的集中的代码管理服务器提交。
3. 每次提交都会对所有代码创建一个唯一的commit id。不像CVS那样都是对单个文件分别进行版本的更改。所以你可以一次性将某次提交前的所有代码check出来,而不用考虑到底提交过那些文件。(其实SVN也可以做到这点)
4. branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,不需要建立多余的目录。
5. branch之间merge时,不仅代码会merge在一起,check in历史也会保留,这点非常重要。
From gitHost.cn
1、更方便的 Merge
分布式管理必然导致大量的 Branch 和 Merge 操作。因此分布式版本控制系统都特别注意这方面。在传统的 CVS 里面制作 Branch 和 Merge 简直就是噩梦,Subversion 作为一个用于替代 CVS 的系统,专门改进了 Branch 操作。然而似乎人们没有注意到,Branch 是轻松了,可是 Merge 呢?如果不能很方便地 Merge 回来,做 Branch 仍然是噩梦。事实上,我就经历过在开发团队里面由于队友操作不对而在 Merge 的时候把我的许多代码都覆盖掉了。当时正是使用的 subversion 。虽然源代码仍然在历史里面,但是要去一个一个地找出被覆盖掉的文件并恢复过来确实是一件很难忘的事情。
2、更方便的管理
传统的版本控制系统使用中央仓库,一些仓库相关的管理就只能在仓库上进行。赋予开发团队每一个人中央仓库的管理权限是非常不好的。但是有时候确实会比较不方便的地方。
3、更健壮的系统
分布式系统一般情况下总是比单服务端的系统要健壮,因为但服务端一旦服务器挂掉了整个系统就不能运行了。然而分布式系统通常不会因为一两个节点而受到影响。
4、对网络的依赖性更低
虽然现在网络非常普及,但是并不是随时随地都有高速网络,甚至有时候根本没有网络可以访问。低速的网络会让人心情烦躁,有时候就呆呆地盯着屏幕上的 commit 进度,什么事情也干不了。而没有网络连接更是致命的:你无法 commit !这表示你进行任何改动以前都必须小心翼翼,否则你可能再也找不会你曾经写的一些代码了。
5、更少的“仓库污染”
有时候你要做一个模块,它不是太大,所以没有必要为它新建一个 branch ,但是它又不是那么小,不可能一次提交就做好。于是便会提交一些不完整的代码到仓库,有时候会导致整个程序无法运行,严重影响团队里其他人的开发。大多数人在这种情况下的解决办法都是写完之后再提交。但是作为习惯了版本控制的人来说,进行不计后果的大幅修改是经常的事情,到后来突然发现自己先前的代码没有提交,就后悔莫及了。如果是分布式系统的话就不会存在这样的问题,因为本地仓库的修改不会影响到别人的仓库。当你完成并测试以后,就可以在邮件列表里面说:我已经把这个模块做好了。然后感兴趣的人就可以从你这里 pull 你的成果了。
虽然网上各种对Git的誉美之词决不止于此,但是在Git的主站上,还是尽可能客观的对Git和Subversion进行了一番比较。(GitSvnComparsion :http://git.or.cz/gitwiki/GitSvnComparsion)。另外,Subversion目前通过SVK也已经提供了一定程度上的源代码库分布式的管理能力。能够实现源代码的离线提交等功能。
二、在Windows上的使用Git
不得不说,Git是为Linux而生的。(废话,Git的最初创建人就是Linux的创始人啊)。在Linux环境下,要使用Git,与任何Linux中的命令行工具没有什么区别。甚至在击键数上还有明显的优势。在Windows上要使用Git在目前看来只有两种方法:使用Cygwin(一个在Windows上运行的Linux环境)或者使用msysgit(http://code.google.com/p/msysgit/)。Cygwin和msysgit的使用方法类似。Cygwin具有大量Linux的功能,如果只是想使用Git功能的话msysgit还是最简单和快速的方法。下面的介绍将以msysgit为主进行。
为了能够具备通过互联网实现与别人协作开发的能力。对于项目,需要一个公开的源代码托管服务。好在,现在已经有不少可以供我们选择的。尤其是githost,更是一个中文的源代码托管服务提供方。从目前看来,在Githost上落户的项目还很少,貌似是一个新近诞生的服务提供方。如果项目对服务提供的稳定性有比较高的要求的话,还是选择较老的git源代码托管服务比较好吧。
如果是在局域网内工作的小组,要使用Git做源代码管理,那就更简单了,大家安装好自己的Git,并指定一个人负责对Git版本库进行管理就好了。
(一)GitHub简介
GitHub是使用Ruby开发的,具有清爽的界面。GitHub提供免费的源代码库托管,同时也提供付费的托管服务。通过付费私有库托管服务在财务上支持免费部分的持续运营。
GitHub提供了一套独特的代码库管理界面功能,并提供项目Wiki的能力。
GitHub提供了一系列的指南,也可以到这里去看看:http://github.com/guides/home
(二)在Windows系统上安装Git
到msysgit的老家下载安装程序。http://code.google.com/p/msysgit/
选择下载“** Full installer if you want to use official Git 1.5.6.1 **”对应的Git-1.5.6.1-preview20080701.exe。实际上,总可以选择最新的Git版本,以取得更好的使用效果。
安装的过程很简单,基本上可以使用默认设置。只是在设置路径的时候要注意一下,为了避免与Windows路径导致的意外情况,还是使用“Use Git Bash Only”比较安全。
Msysgit有命令行和图形UI两种使用方式。根据你的喜好选择吧。要说的是,图形UI可能不能完成所有的工作,因此在某些情况下(例如创建SSH Key),命令行还是必不可少的。
Msysgit的Bash命令行对中文的支持不好。所有的中文字符都显示成了“?”。因此,为了避免麻烦,最好避免使用中文的文件名、目录名和用户名等。不知道现阶段Cygwin对中文的支持如何,随后再试试看吧。
(三)设定GitHub
要使用GitHub首先需要创建SSH Key。SSH将用来加密本机与远端服务器之间的通信。同时也是识别你对代码所做的变更的方法。SSH Key可以使用Git命令行来产生。如果你已经有一个SSH Key了,那么在这里也可以直接使用。
要使用Git创建SSH Key 首先需要打开Git Bash 命令行。
输入命令:
ssh-keygen -C "username@email.com" -t rsa
说明:username@email.com 需要更换成你自己的Email地址
程序将提出一些问题,接受文件默认存放位置,当要求输入pass phrase时,如果本机安全没有问题,也可以不输入。找到当时制定的文件存储位置中id_rsa.pub文件。这就是在GitHub上申请帐户时需要使用的SSH公钥文件。
在github.com的register中选择Free account,在后续的界面中按照要求填入相应的内容即可完成注册。很简单的。
关于Git后续如何使用,还是在另外的文档中说明吧。
三、关于Git的一些联结
1、 建立Git远程服务器:
目前貌似还没有在Windows上建立Git服务器的。Linux在开源上还是强大啊!
Hosting Git repositories, The Easy (and Secure) Way
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
Remote Git Repos on Ubuntu: The Right Way
http://blog.drewolson.org/2008/05/remote-git-repos-on-ubuntu-right-way.html
Installing Git on a server (Ubuntu or Debian)
http://www.urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian
2、 基于Git的源代码托管
中文的Git源代码托管,基于gitorious构建:http://www.githost.cn/projects
Gitorious
Gitorious is another free hosting site with a custom web interface, supporting multiple repositories per project, local installations and with open source code:
http://gitorious.org/
repo.or.cz
repo.or.cz is the oldest hosting site, accommodating many hundreds of projects, with open-sourced infrastructure and aimed at open source software. It provides full push features as well as simple mirroring mode and gitweb interface with various enhancements. :http://repo.or.cz/
GitHub
GitHub provides both free hosting for smaller projects and paid options for private hosting and large-sized projects. It uses a custom web interface including a wiki hosting and puts emphasis on social networking of project developers:http://github.com/
3、 关于Git的有用的联结:
Git的老家:http://git.or.cz/
Git User's Manual (for version 1.5.3 or newer) :
http://www.kernel.org/pub/software/scm/git/docs/v1.6.0.2/user-manual.html
Git - SVN Crash Course:
http://git.or.cz/course/svn.html
Everyday GIT With 20 Commands Or So:
http://www.kernel.org/pub/software/scm/git/docs/everyday.html
四、参考文档:
Getting Started with Git and GitHub on Windows:
http://kylecordes.com/2008/04/30/git-windows-go/
中文教程: http://www.b***/documents/gittutorcn.htm
简介:http://linuxtoy.org/archives/git.html
英文教程:http://www.kernel.org/pub/software/scm/git/docs/tutorial.html
GitHub:http://github.com
分享到:
相关推荐
TortoiseGit是一款与Windows资源管理器紧密集成的Git图形界面工具,它使得在Windows环境下使用Git变得更加直观和便捷。用户可以通过右键菜单直接执行Git的各种操作,如查看提交历史、创建和切换分支、合并分支、解决...
通过以上步骤,你就可以在Windows环境中成功搭建并使用Gitblit-1.8.0进行版本管理了。如果你需要更深入的功能,可以查阅Gitblit的官方文档,了解如何自定义模板、集成其他服务(如Jenkins、Travis CI等)以及更多...
对于Windows64位系统的用户,Git提供了专门的Windows版本,确保在Windows环境下也能流畅使用。安装Git for Windows时,通常会包含Git Bash,这是一个模拟Linux终端环境的工具,使得开发者可以在Windows上使用熟悉的...
Git在软件开发领域被广泛使用,尤其在开源项目中,它极大地提升了协作效率和代码管理。 **1. Git基本概念** - **仓库(Repository)**:存储项目所有版本和元数据的地方,是Git的核心。 - **提交(Commit)**:保存...
总的来说,Git对于开发者而言是一个不可或缺的工具,尤其是在Windows环境下,64位版本的Git确保了良好的兼容性和性能。通过学习和熟练掌握Git,开发者能够有效地管理项目,协同工作,并保证代码的安全性和可追溯性。
在使用过程中,用户可能还需要了解分支管理、合并冲突解决、标签应用等高级特性。对于不熟悉命令行操作的用户,可以使用Git的图形化界面,如SourceTree或GitHub Desktop,它们提供了更直观的界面来执行Git操作。 ...
安装完成后,需要配置环境变量,方便在命令行中使用 Git。 配置密钥 在使用 Git 前,需要生成密钥以便与远程 Git 仓库通信。密钥可以使用 Git Bash 生成,或者使用其他工具生成。生成密钥后,需要将其添加到 Git ...
7. **Windows集成**:msysGit可以与Windows资源管理器集成,右键菜单中添加Git功能,使得在Windows环境下使用Git更加便捷。 8. **更新和维护**:由于msysGit是一个预览版本,为了保持最新的功能和安全更新,建议...
在这个Windows版本的Git中,我们有Git-2.41.0.3-64-bit.exe,这是一个适用于Windows操作系统的64位Git安装程序。 Git在Windows上的使用与在其他操作系统上类似,但有一些特定的特性需要了解。首先,Git Bash提供了...
这个64位版本特别针对Windows操作系统进行了优化,能够更好地在Windows环境下运行。 Git是一种强大的工具,它允许开发者跟踪代码的修改历史,管理多个分支,进行代码合并,并与其他团队成员协同工作。Git的核心概念...
在Windows上,可以通过Git for Windows下载并安装Git Bash,提供类Unix命令行环境。在macOS或Linux系统中,可以使用包管理器如Homebrew或apt-get进行安装。 3. Git基本操作: - 初始化仓库:`git init` - 克隆...
在Windows操作系统上安装Git,可以为开发者提供一个强大的版本控制工具,使得在Windows环境下进行源代码管理和团队协作变得更加便捷。 Git for Windows 是Git在Windows平台上的实现,它包含了Git命令行工具和一个...
对于Windows用户来说,Git for Windows提供了在Windows环境下使用Git的友好平台。本文将详细介绍Git for Windows 32位和64位版本,以及如何在Windows系统上安装和使用Git。 Git最初由Linux之父Linus Torvalds开发,...
Git for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...
总之,Windows版本的Git客户端提供了全面的功能,方便开发者在Windows环境下进行版本控制。无论是通过命令行还是GUI工具,Git都能帮助团队高效协作,管理代码的变更历史,确保项目稳定且可追踪。
Git 2.43.2 for Windows 是专为Windows操作系统设计的Git版本,它提供了在Windows环境下使用Git的强大功能和便捷体验。该版本的发布主要是为了应对GitHub内网访问的不稳定性,确保开发者在遇到网络问题时仍能继续...
Git客户端管理工具是开发者在日常工作中使用Git进行版本控制时的重要辅助软件,它为用户提供了图形化的用户界面,使得操作Git变得更加直观和便捷。这里主要介绍的是msysGit和Windows GUI,这两个工具都是针对Windows...
Git是一款强大的分布式版本控制系统,尤其在软件开发领域中被广泛使用。它允许开发者跟踪代码的修改历史,协作开发,以及轻松地回溯到之前的任何版本。对于Windows用户来说,Git有多种实现,其中之一就是TortoiseGit...
Git是分布式版本控制系统,它在软件开发领域尤其是开源项目中起着至关重要的作用。...通过下载官方的Windows 64位Git安装包,用户可以快速地在Windows环境中搭建Git工作环境,参与到高效的开发流程中。
Windows版本的Git客户端是专为在Windows操作系统环境下使用Git而设计的,提供了与Linux和Mac OS X平台类似的体验。 Windows Git客户端的核心特性包括: 1. **图形用户界面(GUI)**:Windows版Git提供了图形化的...