Git之初体验

1.昨天接触到了git,这也是马上要用到的一种工具,git是一种新型的,轻量级的分布式版本

控制系统。官网地址http://git-scm.com,不过这个地址被屏蔽,可以使用代理查看。

2,首先要安装git,我是在ubunutu上安装的,在这个地址介绍了安装过程

https://help.ubuntu.com/community/Git

不过这里我只用到了

 

sudo apt-get –y install git-core

(1)创建版本库

在git中创建版本库,首先要决定把代码源码放在哪里,本篇文章以一个实例来说明使用git。

创建一个mysite文件目录,并在该目录下创建git版本库,命令如下:

mkdir mysite

cd mysite

git init

命令“git init”会创建一个.git目录,这个目录用来存放版本库的全部元数据。mysite

目录作为工作目录树,存放从版本库检出的代码。

(2)代码修改

前面的操作已经创建了一个空版本库,现在向里边添加文件,我们创建一个名为index.html

的文件,并添加标题文本”hello world”,详细内容如下:

<html>

<body>

<h1>hello world</h1>

</body>

</html>

创建一个间的的html文件后,就开始跟踪版本了。我们会向这个文件不断添加更多的内容。

要想让git跟踪这个文件,需先让它知道这个文件,要分两步:首先使用git add把文件添

加到版本的索引(index);然后使用git commit命令提交。

git add index.html

git commit –m “add in hello world html”

上边的命令很简单明了,git add 文件名 git commit –m 提交留言

输入命令

git log

可以查看提交相关的信息:

(3)在项目中工作

第一个项目的版本库已经准备好了,并且已经开始跟踪文件,下面开始学习怎样开始处理文

件修改。

在上边的index.html添加一些东西,修改如下:

<html>

<head>

<title>hello world in git</title>

</head>

<body>

<h1>hello world</h1>

</body>

</html>

修改完毕,git可以检测到文件被修改。命令git status会显示工作目录树的状态,即当前的视

图的状态。输入命令

git status

出现如下界面:

上边的输出结果表明git检测到了修改,但是还不知道如何处理,修改过的文件在change but

update下列出来,如果要提交,须要暂存修改。

暂存修改,以准备把修改提交到版本库,git中三个地方可以存放代码,第一个工作目录树,

编辑文件时可以直接在这里操作。第二个是索引,也就是暂存区,暂存区是工作目录树和版

本库之间的缓冲区,第三个就是版本库。暂存区存放的是准备提交版本库中的修改。

输入命令

git add index.html

git status

git add可以暂存对index,html的修改,这时输出的内容变为“changes  to be committed”。

使用命令git commit时,不要忘记带-m参数,并在参数后面加上提交留言,以解释修改原

因,

上边使用了两个-m参数,git可以接受任意多次提交留言的输入,每次另起一段。使用git log

可以参看提交信息,

git log –1

参数-1来限定输出提交数目的条数。

(4)理解并使用分支

分支可以为要发布的代码保留一份拷贝,所以无须停止正在开发的工作,创建分支的命令

git branch,该命令需要两个参数:新分支名称和父分支名称。新创建的分支基于已经存在

的父分支。

git branch RB_1.0 master

该命令从主分支上创建一个叫RB_1.0的分支,主分支是git的默认分支,

现在对index.html做

一些修改。向index.html添加如下代码:

<a href=”bio.html”>biography</a>

用如下命令提交这些修改

git commit –a –m “add <a>”

-m这个参数不能少,少的话会报错。这个命令告诉git提交全部修改过的文件。

现在是在主分支上的修改,而发布分支上还是原来的代码,切换到发布分支上,做发布前的

最后修改,切换分支的命令是git checkout

git checkout RB_1.0

在index.html文件中做一些修改,当然现在是在RB_1.0这个分支上做修改,修改内容如下:

<head>

<meta name=”description” content=”hello world”/>

</head>

保存并提交修改

git commit –a –m “add <meta>”

因为现在是RB_1.0这个分支上,所以刚才在主分支的修改不会体现在这个分支上,

如果切换到主分支上来,我们会发现,在RB_1.0这个分支上的修改不会体现在主分支上。

git checkout master                                               //切换到主分支上

(5)处理发布

现在准备发布1.0这个版本,要给它打个标签,命令如下:

git tag 1.0 RB_1.0

上边的命令的两个参数分别指明标签的名称和希望打标签的点,如果想查看版本库中的标签

列表可以使用如下命令:

git tag

现在两条分支上有不同的提交,但是它们不知道彼此所包含的代码,现在要把RB_1.0分支上

的修改合并到主分支上来。下边的命令可以完成:

git checkout master

git rebase RB_1.0

上边的git rebase将RB_1.0的修改在主分支上重现,查看主分支上的index.html文件,发先在

RB_1.0分支上的修改现在出现在该文件内。

作为整理工作的一部分,删除发布分支RB_1.0,这看上去很危险,不过不用担心,因为刚才

打过的标签指向RB_1.0分支的末梢,只要标签在,从该标签到版本树起点的一连串提交记录

都在。这时删除只是删除分支的名字,不会删除分支上的任何内容。使用如下命令删除分

支:

git branch –d RB_1.0

如果想再次使用这个分支,可以使用如下的方法:

git branch RB_1.0 1.0

git checkout RB_1.0

 

为代码发布创建归档文件,使用如下命令:

git archive –format=tar\

                       –prefix=mysite-1.0/1.0\

                      | gzip>mysite-1.0.tar.gz

或者

git archive –format=zip\

                     –prefix=mysite-1.0/1.0\

                        >mysite-1.0zip

上边的两个命令几乎一样,有三个参数,第一个—format 指明要产生的格式输出,第二个参

数指明包中所有的东西都要放到mysite-1.0/目录下,1.0指明要归档的标签名称。第三个根

据format的不同而不同,就是将生成的tar格式或者zip格式的归档内容保存到归档文件中。

上边都是一些基本的命令,目前为止它们都是与本地版本库打交道的命令,下面介绍克隆版

本库的命令,它可以从其他程序员那里远程获得项目的源代码及其历史记录。

(6)克隆远程版本库

命令如下:

git clone 参数一 参数二

举个例子:

git clone git://github.com/tswicegood/mysite.git mysite-remote

上边的两个参数分别是指远程版本库的位置和存放该版本库的本地目录。

好的,上边就是对git的一些简单的介绍,在随后的文章会对git做更为详细的介绍。

你可能感兴趣的:(Git之初体验)