Git新手向引导——初识Git

前言:虽然之前也有听说并接触过git,但是真的的基础学习git是在前段时间学习android的时候,这里要感谢《第一行代码》这本书。这些日子要和朋友一起做一个小项目,需要用到git来管理代码,而他对git的了解和之前的我一样。于是就写了这篇博客,总结一下之前学习的git的内容,归纳整理巩固一下,也顺便做一个新手向的引导。

初识git

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
好了,介绍完git的基本信息,我们开始进入第一步——安装git

安装Git

在Linux上安装Git

由于git和Linux操作系统都是同一个作者,因此git在Linux上的安装是最简单方便的。

首先,你可以试着输入git,看看系统有没有安装Git:

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。

如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。

老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuitgit-core正式改为git

如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./configmakesudo make install这几个命令安装就好了。

在Mac OS X上安装Git

如果你正在使用Mac做开发,有两种安装Git的方法。

一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

在Windows上安装Git

相信更多的人可能还是使用Windows操作系统。其实在Windows上安装Git也很简单,有人已经把模拟环境和Git都打包好了,你只要下载一个exe安装程序来安装就行了。

地址:http://msysgit.github.io/

接下来你会看到下图页面


点击Download链接直接就可以下载了,目前下载的是1.9.5的版本(2015/8/10)

下载下来之后双击安装包进行安装,一路下一步就可以了。

创建代码仓库

在Windows操作系统中使用Git是可以在一个叫做Git Gui的图形界面中操作的,如下图:


不过我们学习Git的使用的话,还是尽量使用Git的各种命令,因为这才是你学习Git应该掌握的核心技能。而且,不管在哪个操作系统中,使用命令来操作Git都是通用的,这对于以后更换开发环境有很大的帮助。

进入正题,在Linux系统中,使用Git进入shell界面就行了。而在Windows系统中,你需要打开Git Bash。

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。命令如下:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
配置完你的身份之后,你也可以使用命令来查看是否配置成功,只需要将名字和邮箱地址去掉即可,如下图
 
配置完你的身份之后,这样你提交代码的时候Git就知道是谁提交的了。

接下来就是开始创建代码仓库了,仓库(Repository)是用于保存版本管理所需信息的地方,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

本地提交的代码都会被提交到代码仓库中,如果有需要可以推送到远程仓库中。

首先进入到你要创建代码仓库的项目目录下,比如我有一个项目demo,如下图:

注意:在Windows系统中,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

然后在这个目录下面输入如下命令:

$ git init


仓库创建完成后,会在这个项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是用来记录本地所有的Git操作的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。我们可以通过ls -al命令来看一下,如下图


如果你要删除本地仓库,只需要删除这个文件夹就行了。

提交本地代码

代码仓库创建完了,现在可以提交代码了。提交代码只需要两个命令——add和commit。add是用于把想要 提交的代码先添加进来,而commit才是真正的去执行提交操作。

我们先在这个目录中新建一个demo.txt文件和一个src文件夹用来进行提交操作。

创建好文件之后我们查看一下


接下来,使用add这个命令添加文件。

$ git add demo.txt

这是添加单个文件的方法,如果你想添加某个目录,那只要在add后面加上目录名就行了,比如我们要添加src目录下的所有文件。就可以使用如下命令

$ git add src

如果你有非常多的文件及文件夹都需要提交,这样添加的方法就有点复杂了。Git当然也考虑到了,如果你要一次性添加所有文件,那只需要在add后面加上一个点,就表示添加所有文件了,命令如下

$ git add .

现在文件都已经添加好了,接下来就可以提交了。命令如下

$ git commit -m "First commit."


commit命令后面我们一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。而且一个有意义的提交描述信息对于自己和他人的信息阅读都是很重要的。

git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的demo.txt文件,文件夹是空的),插入了一行行内容(demo.txt有一行内容)。

在学习这块的时候,还在网上看到到了这个,这个也是我之前不知道的:

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,前面我们举的例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件。

因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

使用Windows的童鞋要特别注意:

千万不要使用Windows自带的 记事本编辑任何文本文件。原因是Microsoft开发记事本的团队在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载 Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可


Git的安装,仓库的创建,文件的提交就是我们初识Git的内容了,接下来修改文件,撤销提交的修改等内容了,请看下一篇内容

Git新手向引导——Git进阶






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值