版本控制工具Git学习报告

 主题:版本控制器git的学习

内容:在学习puppet的过程中接触到git版本控制器,该软件简单、高效,非常适合于代码开发过程中对代码版本的控制。
          该软件一直做为linux内核开发的版本控制器,所以其版本控制能力及可靠性已毋庸置疑。

与工作相关性:
          在代码编写过程中,经常会遇到对一个现有代码文件进行各种修改的情况,为了修改后还能恢复最初的文件内容,我们通常会在文件中将原来的代码注释或干脆在当 前目录下多做几个备份,一个版本做一个备份。这样的操作通常会在当前目录下产生许许多多以奇怪后缀结尾的文件。使目录内容显得很混乱,而且不容易 直观的区分哪个文件当初做的是哪些修改。

          git可以很好的解决这个问题。

首先,git的安装很简单:
在Red Hat平台上:
    $ sudo yum install git

在ubuntu平台上:
     $ sudo apt-get install git-core

如此,git即安装完毕。

此时,我们可以向Git标识我们自己,以便它跟踪我们的身份并将我们的行为跟一些细节联系在一起。

      $ git config –global user.name "u63347"     — 这里名称可以随意取,默认为当前帐号名称
      $ git config –global user.email  youremail@yungtay.com.cn    — 同样根据你的需要写

接下来,我们就可以针对我们存放代码的目录进行版本版本控制。
假设我的代码存放在/php/spm目录下,我们切换到这个目录,然后使用git命令初始化新的Git仓库。
       $ cd /php/spm
       $git init

这里会在/php/spm目录下创建 一个.git的目录 ,这个目录 包含了Git仓库的所有细节和跟踪数据。

可以使用git命令的add参数来向这个仓库中添加要进行版本控制的文件
        $ git  add  *             表示将当前目录下所有文件添加至Git
       
        $ git  rm  a.php       将a.php文件 排除版本控制仓库

 当我人对某个文件进行修改后,想要将这个状态保存,可以使用如下命令:

         $ git commit -a -m "make a change!"              引号内的内容为对此次修改的注释,方便日后回滚的时候区分

关于版本的回滚,我们将借助下面的演示介绍。

在10.21.2.5这台测试服务器上创建一个测试用户aaa,Git软件已用yum安装好
创建文件 foo.txt,将初始化Git仓库如下:

将文件 foo.txt 添加至Git仓库

查看状态:

       
       
当前文件 foo.txt 的内容仅为一个字母 a   ,我们将当前文件版本保存,做为初始状态,并做说明 : this is our initial commit  (也可以用中方说明)

用命令  git log  查看版本信息

然后对文件 foo.txt  进行一些改动,比如向其中添加 一些内容

我分别向文件 中添加 了两次内容并做了版本提交 :

查看日志可以看到,两个修改都已保存了不同的版本

如果现在我们想回滚到添加完字母B时的状态,可以通过如下操作完成 :

首先查看都进行了哪几次提交 :

要回到版本B,可以进行如下操作:

如此,文件 版本已回到刚添加完字母b时的状态了。

日常用到的命令总结如下:

向Git中添加一个需要控制版本的文件 :
$ git add filename

提交一次修改:
$ git commit -am "修改说明"

需要回滚的时候 ,先查看head代码:
$ git reflog

选择head代码后,进行回滚:
$git reset –hard  回滚代码

以上是对Git这款软件版本控制功能的一个小小的演示,这些功能可以在代码编写和修改的过程中方便对版本的控制和回滚,提高工作效率。

 

以上为8月分公司学习报告内容,帖出来以做分享。

 

上述版本控制演示,均需手动有意识的对需要的文件进行操作。

现征求自动进行版本控制的方法,即在代码文件进行过修改保存后,系统便自动对该文件进行一次版本保存,无需手工干预。

现在还不清楚Git有无此功能。