ThoughtWorks培训(三)

2015-05-12  来源:本站原创  分类:工作日志  人气:2110 

作者: 王翔

日期: 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的冲突解决和分支操作再给大家介绍。

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

相关文章
  • ThoughtWorks培训(三) 2015-05-12

    作者: 王翔 日期: 2015年5月 13日 进入正文之前,先插播一条消息. 因为这两天学习的知识点比较多,所以回到宿舍后得反复的的学习巩固新的知识,弄完都基本12点多了,但是遗憾的是就这样还是有好多知识点不怎么理解,看来"革命尚未成功,同志仍需努力啊".两天没写博客了,今天就借着写博客的机会来和大家分享下这两天所学到的东西,基本上就是Git相关的知识. 提到Git可能许多人只是听说过,或者是已经在使用了,有或者根本没听说过.不管是前面提到的哪种情况,希望我接下来分享给大家的Git知识

  • ThoughtWorks培训(二) 2015-05-09

    今天最开心的就是得到了女朋友的原谅和好了,嘿嘿~~! 最主要的是还是今天的学习分享了,因为今天是星期天,所以没有去培训,老师布置的作业是看Linux指令大全的前二十四章,这本书我推荐刚从Windows转到 Linux系统来的人看,很适合新手.灰常不错,中英文互译,一个命令对应几个实例,让你快速理解Linux命令,文件操作,权限等等.这本书大家可以去当当或者亚马逊买.学习中我感受到了命令行界面的强大,对电脑文件的批量操作等那个飞速啊,就一句命令的事,要是GUI图形界面的话我估计你会很痛苦,不如说建

  • 北京企业觉醒:电子商务也需培训 2013-10-20

    电子商务对经济的促进作用已被有关专家学者.国家相关部门及各级政府认可.日前,粤.浙.苏.闽.津等地与全球领先的电子商务公司阿里巴巴携手,将"中小企业过冬"与"电子商务普及"有机结合,启动电子商务推进工程,希望帮助各地中小企业利用电子商务在危机中寻找机会. 沿海发达省市大规模的电子商务推进工程无疑对全国其他省份有着重要的借鉴意义.11月26日,阿里巴巴在北京对中小企业发出号召:电子商务需要"深耕",电子商务需要教育,企业才能在危机下成长! -提出电

  • 中国自由软件推广先锋的自述,心潮澎湃的一往无前,一定要看!作者:洪峰 2012-06-18

    一定要看,本文内容经过了我(Shane Loo Li)少许修改,主要是更新了目录. 这篇文我同时也在 CSDN 发表过,地址是: http://blog.csdn.net/shanelooli/article/details/7579708 在 ITeye 发表过,地址是: 自由软件:新的游戏规则 洪峰 内篇之一:"一.百.万"工程 1. 牛犊涉世之初 2. 迷雾中的引路人 3. 蹉跎岁月 3+漂泊 4. 走出混沌 5. 漫漫求索路 6. 初试网络的威力 6+自由软件 7. 坚果中的爪

  • 网络创业连载三:创办3万人学习的在线培训公司 2013-03-22

    本篇导读:慢就是快 2009年底,我就开始忙于我的一个个"微生意". 这时候便开始有人在网上看到我做的微生意,有人愿意花钱让我教他们这种模式,我知道模式太简单了,所以一开始我便收了10个人分享我发现的商业模式.他们很快学完后,觉得非常有意思,有8个人跟着我的方法去试了一下,都很快做成了. 这时便有人给我建议,我可以通过培训把这个"微生意"变成"加盟型生意".就像测试出一种商业模式后,招加盟放大一样.这是一个相当有吸引力的建议. 这 个建议使我事业

  • 有关这几个月经历的培训的一些总结(三) 2010-11-10

    今天想说的一个事情就是作为一个技术人员如何从自身来完善自己的技术能力.我个人感觉在这点上,很多技术人员都是过着得过且过的日子.很少有人会主动去问 自己公司里技术不错的人讨教某些技术东西.当然也有些所谓的大牛的人真的人品很差,老是不愿意回答别人的问题.生怕有朝一日人家会超越他.我个人认为这种 想法完全是杞人忧天.因为如果是一个一直在主动学习技术的人,当他把自己所知道的东西分享出来后.必然还会有新的他没有接触过的技术会吸引他.就像3岁以 下的孩子,每看见一个他/她从来没见过的东西都会很好奇的去了解一

  • 中国敏捷实践中的误区(三)误区和改进 2014-08-14

    三个主要误区 第一个是重视流程忽视人.敏捷宣言开明宗义指出"人和沟通胜过过程与工具".但是仍然有很多企业试图通过创造一个完美的流程来实施敏捷.不可否认,合理的流程对于提高团队效率有一定的作用,但是企业真正要从敏捷改进中获益必须落实到人的改变上来. 第二个是重视管理轻视工程.很多团队将敏捷等同于开开站会.做做迭代.搞搞回顾.到头来,一切流于形式.敏捷说到底是对于软件工艺性的认识回归,那么持续集成.自动化测试.设计.重构这些手艺是绕不开的.不从这些根本的手艺上解决问题,各种眼花缭乱的沟通手

  • 详述三种现代JVM语言--Groovy,Scala和Clojure 2014-07-31

    Java的遗产将是平台,而不是程序设计语言. Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上.这种架构对于该平台的长期活力是至关重要的,因为计算机程序设计语言的寿命一般都是比较短.从2008年开始,由Oracle主办的一年一度的JVM语言峰会为JVM上其它的语言实现与Java平台工程师进行开放式合作提供了机遇. 欢迎来到Java.next专栏系列,在本系列的文章中,我将讲述三种现代JVM语言--Groovy,Sc

  • ThoughtWork培训之(一) 2015-05-09

    今天是我在ToughtWork培训(是校企合作的那种,ThoughtWorks在我们学校成立个小班进行培训)的第三天了,说起来惭愧,因为今天girl friend吵架了,所以下午向老师请假了,由于我有个坏毛病,一遇到心情不好就什么事情都做不了了,这看来以后是得改改了,要不感觉老耽误许多事. 晚上我问了同学今天培训的知识是,Linux下命令权限的操作,晚上我也对有关的内容进行了学习和掌握.因为前两天都没写博客,所以我想今天给大家说说我在ThoughWorks这两天培训的感受. 首先,第一天刚进到培

  • Java Learning Path(三).过程篇 2013-11-25

    每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法.因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的.我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了. 学习Java的第一步是安装好JDK,写一个Hello JWorld,其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载C

  • 书评:卓有成效的ThoughtWorks程序员的45个习惯 2013-12-20

    这个书名看起来似乎有些莫名其妙,因为其实它包含了三本书: Practices of an Agile Developer(中文名<高效程序员的45个习惯>,即将出版) The Productive Programmer(中文名<卓有成效的程序员>,已出版) The ThoughtWorks Anthology(中文名<软件开发沉思录:ThoughtWorks文集>,已出版) 虽然最后一本书的中文标题里包含"沉思"字样,但总体来说其实这三本都是实践性的

  • 兼职微信营销月销售额三万 2014-02-02

    导读:上次作者柴国生分享了一篇<初试微营销的几点感悟>,被广大站长朋友批判文章有点坑,没啥实质内容后,作者痛定思痛,再一次从产品选择.营销方式定位.推广渠道详细做了说明.文章看归看,如果大家能记住,并把部分观点带入自己的实战中,相信会少走不少弯路. 前言: 通过在微信朋友圈卖板鸭约有40天,我是兼职在做微信营销,通过这些天的努力和付出,个人认为还是取得了一个不错的成绩,销售板鸭600多只,三万多的一个营业额,全部都是通过微信和QQ卖出去的.如果中途不出现一个小小的插曲,我想一定可以会卖的更好.

  • 打造高效团队 & 团队管理三要素 2014-02-05

    打造高效团队 对职业球队来说,拥有最佳阵容,是达成赛季目标的关键.但本赛季的最佳阵容并不一定适用于下个赛季:在体魄和速度上,年轻球员会更胜一筹:进攻策略和赛季目标会发生改变:伤病情况和薪金约束都会影响球队阵容. 对于职业球队而言,提升专业技能和职业水准是场"持久战",需要不断提升球员技能,让球员尝试不同位置,提升后备队员实力,选择球队队长,招募新球员,培养明星球员. 假设教练或领队要高薪引进一位新人来增强球队整体实力,可迫于薪金约束,不得不面临艰难抉择:要么和一位现有球员解约:要么集体

  • 销售培训 ? 6个步骤销售任何东西给任何人 2014-03-18

    你正在努力为您的网上生意推动新的销售吗? 你有自己的互联网咨询业务,你自己东西做所有的市场调查,维护一个拥有梦幻内容的博客,并且你是你所在的行业领域的专家,在别人眼里,这些都让你看上去很牛B,可是只有你自己才知道这些并不是实质性的东西,因为你总是不能让人们下定决心购买你的产品和服务. 你应该有这样的经历,当你花费了大量的时间进行研究和调查,并发现了一个非常不错的web hosting,当你向您的的读者推荐购买的时候,大多数人都使用了自己的affiliate links进行了购买,于是你决定放弃,

  • 对选择IT培训的朋友一些实在的建议 2014-04-17

    首先我说明我自己,毕业于某高校的国际经济与贸易专业,一般本科,却因热情和爱好从事着与计算机相关的工作,由平面设计,网页设计转向网络建设,现在正在向系统集成的设计方向一步一步向前,曾经梦想过搞网络开发或是网络安全,但这些梦想离我算是太远了,毕竟不像学生时代那样精力充沛,思想单纯,有时间有精力去做一些事,不过,人就是在这样的情况下不断地学习并充实自己的. IT行创造了太多的神话,IT业几乎成了高薪的代名词,于是这些年太多的人向IT业进军,但每年在IT各行业中,对人才需求的缺口还是很大,尽管高校每年对

  • IT培训谨防5大陷阱 2014-06-21

    陷阱一:IT证书是"摇钱树" 不少培训机构在宣传中夸大其辞,称"只要手中有了'××证书',成为'××认证工程师',不但工作好找,而且年薪可以达到10万". 由于IT企业都希望招收有经验的人,IT认证证书就是其在此方面一个能力的体现,持证一族比没有证书者更易找工作,而且工资收入一般也较高.但随着各种"假证书"."灌水证书"的出现,IT证书的含金量受到了一定程度打击,企业会更加注重你的实际能力. 陷阱二:我们是经过授权的 很多培训

  • IT程序员35岁之后的三条活路 2014-07-05

    高薪的IT行业是众多年轻人的职业梦想,然而,一旦身入其中却发觉没有想像中那么美好.被称为IT蓝领的编程员,工作强度大,像个编码"机器";技术更新换代快,饭碗不稳定.随着年龄的增长,IT编程员该何去何从. 程序员的困惑:我该何去何从 32岁的Smith(化名)已算是IT行业的元老了. www.it130.cn 大学时代的他,有2/3的时间是在校园微机房里度过的,当时,他疯狂地迷上了电脑.大学毕业后,Smith早早地被一家IT业著名的跨国公司录用,担任程序员. 刚进IT行业时,Smith有

  • 解放军女专家李聪娜梦里获得编程灵感 成功后昏迷三天 2014-07-07

    引 言 自1991年海湾战争引发了"全球信息战"这个话题之后,世界各国战略家们的眼光齐刷刷地锁定了那张看不见.也无法碰触的信息网络--"e空间".2010年,当某国一双名为"震网"的隐形巨手摧毁了伊朗的核信息系统之后,信息安全再度引发了世界各国的思考.兵来将挡,为"e空间"装甲!这句看似轻松但却豪迈的话语,在一场为未来信息战打造铁甲神盾的壮举中,被兰州军区某部一个年仅20多岁.名叫李聪娜的女少校铮铮叫响-- 李聪娜载誉归来.

  • 深入浅出Docker(三):Docker开源之路 2014-07-10

    [编者按]Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种在安全.可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕.为了更好的促进Docker在国内的发展以及传播,我们决定开设<深入浅出Docker>专栏,邀请Docker相关的布道师.开发人员.技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解

  • 2010年:给SQL Server DBA的三个建议 2014-07-15

    这些天里我真应该写一篇Blog,题目就叫"我在客户见面会上被问过的笨笨问题".当然,这很危险--某位客户也可以写篇类似的Blog,题目叫"我从Donald Farmer那里得到的愚蠢回答".不过,有一天某位CIO倒问了我一个非常好的问题: "我们一直在投资培训DBA所需的那些核心技能,但除此之外,如果我们有几个小时或一个礼拜的机会培训他们一些新技能,你建议应该培训哪些方面?"在随后与她的Email交流中,我给出了本文中余下部分的建议. 在新的一年