Git入门教程

本来一开始我是打算至少每个星期一篇文章的,但是由于一些项目就没有多的时间来写博客了。其实也不是没有时间,主要是我太贪玩,也太懒,中断了这么长的时间没有写博客了,这是对自己的不负责任。而且,学习,永无止境。

为什么我会写 git 的教程?

版本工具有很多,比如 VSS、CVS、SVN、ClearCase、GIT、StarTeam、PVCS 、BitKeeper 等。工作中只用过 SVN(GIT 是最近学习的),其他的没有用过,这里也不做扩展。为什么这么多的版本控制工具我会选择 GIT 呢,首先啊,很多招聘公司都要求会使用 GIT,多学一门技能对今后的发展有好处。其次,最近对 GIT 有所了解后,发现 GIT 和 SVN 相比也确实有不少的优点。

GIT 和 SVN 的主要区别如下

GIT 是分布式 SCM,而 SVN 是基于服务器的。换言之,使用 GIT 的话每个发发人员都有一套 git 库,每人维护自己的版本(或者合并其他
人的版本),而 SVN 每个人写完代码后都提交到服务器上进行合并。那 GIT 相对 SVN 有什么优势呢?

1 版本库本地化,支持离线提交,相对独立不影响协同开发。每个人都有自己的版本控制库。可以任意的执行提交代码,创建分支。
并且再回滚历史、反复提交、归并分支不会影响到其他开发者。

2 更少的“仓库污染”。GIT 对每个工程只有一个.git 目录,所有的版本控制信息都在这个目录中。

3 把内容按元数据方式存储,完整克隆版本库。它是当前计算机的克隆版的版本库,拥有中心版本库的所有东西。

4 支持快速切换分支,比较合并性能好,速度比 SVN 快。

5 分布式版本库,无单点故障,内容完整性好。

前面说了这么多废话,下面来点实用的。

在进入 GIT 之前,我们先要下载 GIT。我使用的是 window 的版本,其他的版本请移步廖雪峰老师 GIT 教程(廖雪峰老师的 git 教程真的很赞)。

然后一路 next,就安装好 git 了。

安装完成后,打开 Git Bash,输入

1
2
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

因为 Git 是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和 Email 地址。需要注意的是:如果你希望在一个特定的项目中使用不同的名称或 e-mail 地址,你可以在该项目中运行该命令而不要–global 选项。

这里我只讲一些日常使用的命令,clone/fetch、add、commit、push、pull 这五个命令

1
2
3
4
5
6
7
8
9
10
11
12
git clone [url] 			//从远程仓库克隆一个项目到本地

git fetch //下载远程仓库的变动,不会与本地的合并,需要手动合并,所以一般多用下面这个
git pull //从远程仓库下载仓库的变化并与本地合并

git add [file1] [file2] //添加文件到暂存区
git add [dir] //添加目录到暂存区
git add . //添加所有改动到暂存区,注意点前面有空格

git commit -m [describe] //提交暂存区的文件到仓库,describe是改动的描述

git push //将本地分支上传到远程仓库

以上 git 命令对 git 小白基本实用了。想到深入学习 git,推荐两个教程:
廖雪峰老师 GIT 教程

阮一峰老师 GIT 教程

[越努力,越幸运!]