ThoughtWorks培训(三)

作者: 王翔

日期: 2015年5月 13日

进入正文之前,先插播一条消息。

因为这两天学习的知识点比较多,所以回到宿舍后得反复的的学习巩固新的知识,弄完都基本12点多了,但是遗憾的是就这样还是有好多知识点不怎么理解,看来“革命尚未成功,同志仍需努力啊”。两天没写博客了,今天就借着写博客的机会来和大家分享下这两天所学到的东西,基本上就是Git相关的知识。

提到Git可能许多人只是听说过,或者是已经在使用了,有或者根本没听说过。不管是前面提到的哪种情况,希望我接下来分享给大家的Git知识对大家有所帮助,我也是个初学者,有什么不对的地方希望大家提出。


一、什么是Git?

可能已经有好多人已经在想Git到底是什么呢?已经在工作的大家可能会接触到有关Version control 方面的东西。其实Git也是一个版本控制系统,与其他不一样的是它是分布式的, 官方给出的解释是:Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目, Git的读音为/gɪt/, 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。关于分布式和集中式在这就不多介绍了,有兴趣的童学可以去查查资料

简单的说,Git和其他Version control 系统不一样的地方就是,在企业中一个团队在做项目时,为了方便大家同时对项目的代码进行修改,并且将每个人修改后内容合并到一起,不用依赖于对方的版本,在这过程中至少有一个人手中的代码是最新的,让每个人时刻了解每个版本信息的改动,提高软件开发效率。Linus Torvalds 不愧为我们眼中的大神啊,自己需要什么,就去编什么。不知道我有没有能力达到这样的高度。抱歉!扯远了,回到正题


二、在Linux上安装Git

下载Git

http://git-scm.com/downloads 这是下载的地址,可以根据自己的系统下载

三、配置Git

设置用户名、邮箱:

使用以下命令设置你的用户名和邮箱。这个很重要,在你完成某次提交后别人可以根据你的用户信息查看提交纪录。

在command line application中输入: 

$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR EMAIL ADDRESS"

 "YOUR NAME" 填写你的名字,可以是你GitHub的名字  

 "YOUR EMAIL ADDRESS" 你注册的邮箱地址


四、注册GitHub账号

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库

首先,登录GitHub网站注册账号

因为https的上传速度较慢,所以我们选择用SSH

由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:https://help.github.com/articles/generating-ssh-keys/  这里说明设置SSH。


五、创建本地Git库

1.初始化本地Git库,就是我们现在你的电脑建立一个虚拟的Git,先在这个虚拟的Git库中对文件操作,然后再push到GitHub

$ git init 
Initialized empty Git repository in /home/wangxiang/Project/test/.git/

细心的读者可以发现当前目录下多了一个.git的目录这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了


2.创建一个文件

$ touch git.md


3.创建完文件,这时的文件的状态是untracked(未跟踪),我们要跟踪它的变化

$ git add git.md

跟踪后文件的状态变成staged(预处理态

如果你想让文件的状态从staged(预处理态)退回到untracked(未跟踪态),输入:

$ git rm --cached


4. 提交暂存区的文件到本地Git库中 ,"-m"后面添加文件变更的描述信息 

$ git commit -m “first commit”

提交后的文件变成commited(提交态)


5.我们可以用git log 查看我们的提交历史 

$ git log
commit 82ff63a6d49e4e9ab2e0948252a92d92a600bb0c
Author: Mr-wangxiang <[email protected]>
Date:   Wed May 13 21:27:31 2015 +0000


6.接下来我们本地Git库推送到GitHub服务器

$ git remote add origin [email protected]:Mr-wangxiang/my-blog.git


 7. 最后就是将我们的Git库推送到远程库主分支

$ git push -u origin master


8. 如果我们想看到别人在远程库中对文件的修改,现将文件pull到本地库

$ git pull
$ git diff

9. 如果你需要返回上个版本,重置当前的修改,可以使用如下命令

$ git reset --soft HEAD^


这些就是这两天我的收获了,可能不多,但是完全掌握还是要花一定的时间的。

通过这些我们现在应该对Git和对它的用法有了初步的了解,以后我还会对Git的冲突解决和分支操作再给大家介绍。

未完待续............


你可能感兴趣的:(git,过程,详细,用法)