AD

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

**git-scm**/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加密的,所以,需要一点设置:**help.github**/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, 详细
分类: 工作日志
时间: 2015-05-12

相关文章

  1. ThoughtWorks培训(二)

    今天最开心的就是得到了女朋友的原谅和好了,嘿嘿~~! 最主要的是还是今天的学习分享了,因为今天是星期天,所以没有去培训,老师布置的作业是看Linux指令大全的前二十四章,这本书我推荐刚从Windows转到 Linux系统 ...
  2. 北京企业觉醒:电子商务也需培训

    电子商务对经济的促进作用已被有关专家学者.国家相关部门及各级政府认可.日前,粤.浙.苏.闽.津等地与全球领先的电子商务公司阿里巴巴携手,将"中小企业过冬"与"电子商务普及"有机结合 ...
  3. 中国自由软件推广先锋的自述,心潮澎湃的一往无前,一定要看!作者:洪峰

    一定要看,本文内容经过了我(Shane Loo Li)少许修改,主要是更新了目录. 这篇文我同时也在 CSDN 发表过,地址是: http://blog.csdn.net/shanelooli/article/detai ...
  4. 网络创业连载三:创办3万人学习的在线培训公司

    本篇导读:慢就是快 2009年底,我就开始忙于我的一个个"微生意". 这时候便开始有人在网上看到我做的微生意,有人愿意花钱让我教他们这种模式,我知道模式太简单了,所以一开始我便收了10个人分享我发现的 ...
  5. 有关这几个月经历的培训的一些总结(三)

    今天想说的一个事情就是作为一个技术人员如何从自身来完善自己的技术能力.我个人感觉在这点上,很多技术人员都是过着得过且过的日子.很少有人会主动去问 自己公司里技术不错的人讨教某些技术东西.当然也有些所谓的大牛的人真的人品很 ...
  6. 中国敏捷实践中的误区(三)误区和改进

    三个主要误区 第一个是重视流程忽视人.敏捷宣言开明宗义指出"人和沟通胜过过程与工具".但是仍然有很多企业试图通过创造一个完美的流程来实施敏捷.不可否认,合理的流程对于提高团队效率有一定的作用,但是企业 ...
  7. 详述三种现代JVM语言--Groovy,Scala和Clojure

    Java的遗产将是平台,而不是程序设计语言. Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上.这种架构对于该平台的长期活力是至关重要的, ...
  8. ThoughtWork培训之(一)

    今天是我在ToughtWork培训(是校企合作的那种,ThoughtWorks在我们学校成立个小班进行培训)的第三天了,说起来惭愧,因为今天girl friend吵架了,所以下午向老师请假了,由于我有个坏毛病,一遇到心情 ...
  9. Java Learning Path(三).过程篇

    每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法.因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的.我也不知道这种方法是否是比较好的方法,只能给 ...
  10. 书评:卓有成效的ThoughtWorks程序员的45个习惯

    这个书名看起来似乎有些莫名其妙,因为其实它包含了三本书: Practices of an Agile Developer(中文名<高效程序员的45个习惯>,即将出版) The Productive Progr ...
  11. 兼职微信营销月销售额三万

    导读:上次作者柴国生分享了一篇<初试微营销的几点感悟>,被广大站长朋友批判文章有点坑,没啥实质内容后,作者痛定思痛,再一次从产品选择.营销方式定位.推广渠道详细做了说明.文章看归看,如果大家能记住,并把部分观 ...
  12. 打造高效团队 & 团队管理三要素

    打造高效团队 对职业球队来说,拥有最佳阵容,是达成赛季目标的关键.但本赛季的最佳阵容并不一定适用于下个赛季:在体魄和速度上,年轻球员会更胜一筹:进攻策略和赛季目标会发生改变:伤病情况和薪金约束都会影响球队阵容. 对于职业 ...
  13. 销售培训 ? 6个步骤销售任何东西给任何人

    你正在努力为您的网上生意推动新的销售吗? 你有自己的互联网咨询业务,你自己东西做所有的市场调查,维护一个拥有梦幻内容的博客,并且你是你所在的行业领域的专家,在别人眼里,这些都让你看上去很牛B,可是只有你自己才知道这些并不 ...
  14. 对选择IT培训的朋友一些实在的建议

    首先我说明我自己,毕业于某高校的国际经济与贸易专业,一般本科,却因热情和爱好从事着与计算机相关的工作,由平面设计,网页设计转向网络建设,现在正在向系统集成的设计方向一步一步向前,曾经梦想过搞网络开发或是网络安全,但这些梦 ...
  15. IT培训谨防5大陷阱

    陷阱一:IT证书是"摇钱树" 不少培训机构在宣传中夸大其辞,称"只要手中有了'××证书',成为'××认证工程师',不但工作好找,而且年薪可以达到10万". 由于IT企业都希望招收有 ...
  16. IT程序员35岁之后的三条活路

    高薪的IT行业是众多年轻人的职业梦想,然而,一旦身入其中却发觉没有想像中那么美好.被称为IT蓝领的编程员,工作强度大,像个编码"机器";技术更新换代快,饭碗不稳定.随着年龄的增长,IT编程员该何去何从 ...
  17. 解放军女专家李聪娜梦里获得编程灵感 成功后昏迷三天

    引 言 自1991年海湾战争引发了"全球信息战"这个话题之后,世界各国战略家们的眼光齐刷刷地锁定了那张看不见.也无法碰触的信息网络--"e空间".2010年,当某国一双名为&quo ...
  18. 深入浅出Docker(三):Docker开源之路

    [编者按]Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种在安全.可重复的环境 ...
  19. 2010年:给SQL Server DBA的三个建议

    这些天里我真应该写一篇Blog,题目就叫"我在客户见面会上被问过的笨笨问题".当然,这很危险--某位客户也可以写篇类似的Blog,题目叫"我从Donald Farmer那里得到的愚蠢回答&q ...