码迷,mamicode.com
首页 > 其他好文 > 详细

Git版本控制管理学习笔记2--起步

时间:2015-11-29 19:40:39      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

首先确保系统中已经安装了git,这里使用的linux系统。

一、命令行初步使用:

1、git命令:

列出它的选项和最常用的子命令。标准命令格式中,COMMAND代表的就是下面列出的子命令。

[root@flower1 ~]# git
技术分享

2、显示版本号:

[root@flower1 ~]# git --version
git version 1.7.1

3、裸双破折号--的作用:

    它用来分离一系列参数。比如下面这个:

[root@flower1 ~]# git diff -w master origin -- tools/Makerfile

这里对命令行的说明,仅是对git命令格式的简单说明。


二、Git使用快速入门:

这里将新建一个版本库,添加一些内容,然后管理一系列修订版本。

1、创建初始版本库:

    在~/public_html目录创建一个个人网站项目,并把它放到Git版本库里。

[root@flower1 ~]# mkdir public_html
[root@flower1 ~]# cd public_html/
[root@flower1 public_html]# echo My website is alive! > index.html

执行git init,将~/public_html转化为Git版本库:

[root@flower1 public_html]# git init
Initialized empty Git repository in /root/public_html/.git/

git init命令会创建一个隐藏目录:至于该文件夹内部的数据代表什么意思,后续会有说明。

技术分享

[root@flower1 public_html]# cd .git
[root@flower1 .git]# pwd
/root/public_html/.git
[root@flower1 .git]# ll
total 32
drwxr-xr-x 2 root root 4096 Nov 29 17:47 branches
-rw-r--r-- 1 root root   92 Nov 29 17:47 config
-rw-r--r-- 1 root root   73 Nov 29 17:47 description
-rw-r--r-- 1 root root   23 Nov 29 17:47 HEAD
drwxr-xr-x 2 root root 4096 Nov 29 17:47 hooks
drwxr-xr-x 2 root root 4096 Nov 29 17:47 info
drwxr-xr-x 4 root root 4096 Nov 29 17:47 objects
drwxr-xr-x 4 root root 4096 Nov 29 17:47 refs

除了在~/public_html目录下新增了一个.git隐藏文件夹,整个目录结构没有任何变化。隐藏在.git内的版本库将由Git维护。

2、将文件添加到版本库中:

最初,每个Git版本库都是空的。为了管理内容,必须明确的把文件加入到版本库中。

这里,将~/public_html文件夹下所有的文件都加入到版本库中:

[root@flower1 public_html]# pwd
/root/public_html
[root@flower1 public_html]# git add .

当然,也可以单个文件添加到版本库,比如这里只用一个index.html文件,我们将它加入到版本库:(其实上面的操作已经将index.html加入到版本库中了)

[root@flower1 public_html]# git add index.html

在使用了git add 命令后,Git知道index.html这个文件是要留在版本库中的,但是,现在它还只是暂存(staged)了这个文件,这是提交之前的中间步骤。Git有意将add和commit命令分开,是为了避免频繁变化。

运行git status命令,显示中间状态的index.html:

技术分享

这个命令显示新文件index.html将在下一次提交(commit)的时候添加到版本库里。

由于Git在每次提交(commit)的时候会记录一下元数据,包括日志消息和作出此次变更的作者,所以一条完整的commit命令如下:

[root@flower1 public_html]# git commit -m "Initial contents of public_html" --author="nextflower <2230256@qq.com>"
[master (root-commit) c57b6cd] Initial contents of public_html
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 index.html

如果想在提交时通过编辑器输入日志消息,并且使用vim来编辑的话,可以导入下面的环境变量:

[root@flower1 public_html]# export GIT_EDITOR=vim

现在再查看一下git status:

技术分享

这意味着工作目录中不包含任何与版本库中不同的未知或者更改过的文件。

3、配置提交作者:

虽然可以在每次提交时使用—author参数来让Git识别你的身份,但如果每次都输入难免让人感觉麻烦。

可以通过下述命令来修改提交作者的信息:

[root@flower1 public_html]# git config user.name "nextflower"
[root@flower1 public_html]# git config user.email "2230256@qq.com"

也可以使用环境变量GIT_AUTHOT_NAME和GIT_AUTHOR_EMAIL来告诉Git。

4、再次提交:

这里修改一下index.html文件,并重新提交。

[root@flower1 public_html]# cd ~/public_html/
[root@flower1 public_html]# vim index.html
[root@flower1 public_html]# cat index.html 
<html>
<body>
My web site is alive!
</body>
</html>
[root@flower1 public_html]# git commit index.html
[master e36e1e0] firsr change
 1 files changed, 5 insertions(+), 1 deletions(-)

这里或许让人感到疑惑,因为在commit之前,并没有使用add命令,这是为什么呢?

因为这个文件已经添加到版本库里了,所以没有必要再把这个文件告诉给索引。

事实上,当我们在修改index.html文件时,如果使用git status命令就会发现,Git已经自动捕捉了文件变更。

5、查看提交:

git log命令会产生版本库里一系列单独提交的历史。

技术分享

可以使用git show + 提交码查看特定提交的详细信息:(若不添加提交码,则将只显示最近一次提交的详细信息

技术分享

还可以使用show-branch提供当前开发分支简洁的单行摘要:

[root@flower1 public_html]# git show-branch --more=10
[master] firsr change
[master^] Initial contents of public_html

6、查看提交差异:

使用两个提交的全ID名并且运行git diff即可:

技术分享

7、版本库内文件的删除和重命名:

Git版本控制管理学习笔记2--起步

标签:

原文地址:http://www.cnblogs.com/tq03/p/5005201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!