[计算机软件及应用]看日记学git.doc
《[计算机软件及应用]看日记学git.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]看日记学git.doc(122页珍藏版)》请在三一办公上搜索。
1、看日记学git系列2009看日记学git来源:整理:sirniu目录看日记学git1看日记学git之序2看日记学git之一3看日记学git之二7看日记学git之三9看日记学git之四13看日记学git之五18看日记学git之六19看日记学git之七28看日记学git之八29看日记学git之九(总结)31看日记学git之十一39看日记学git之十二43看日记学git之十三49看日记学git之十四50看日记学git之十五52看日记学git之十六53看日记学git之十七56看日记学git之十八(点睛)58看日记学git之十九63看日记学git之二十67看日记学git之二十一70看日记学git之二十二
2、87看日记学git之二十三90看日记学git之二十四97看日记学git之二十五102看日记学git之二十六108看日记学git之二十七109看日记学git之二十八115看日记学git之二十九116看日记学git之三十118看日记学git之随笔笔记119看日记学git之序虽然五分钟系列才刚刚到第十集,但是由于项目的需要,版本控制系统的学习迫在眉睫虽然rcs、cvs、svn都是众多项目开发的主力,但是似乎git在众多经典项目中扮演的角色越来越重要。git相比较于其他vcs(version control system)的最大优点就是“分布式”。这些特点一定会在后续的看日记学git系列中提到:)敬请
3、期待rocrocket目前的水平是这样的:曾经用过cvs来做项目,目前在使用svn。完全没有接触过git。希望学习git的朋友们,可以随着我一起来了解、深入、精通git。(也有可能rocrocket能力有限,永远无法到达精通的地步 不是谦虚_)也希望能和大家在的看日记学git系列文章中交流,大家多多留言!3x!看日记学git之一今天是“git第一天”,和我“从零开始”吧!1我用命令rpm -qa|grep i git查看一下我的机器是否安装了git:rocrocketwupengchong $ sudo su -rootwupengchong # rpm -qa|grep -i gitlibc
4、apseo-0.2.0-0.1.20080603gita6ec446.fc9.i386libcaptury-0.3.0-0.1.20080323gitcca4e3c.fc9.i386xorg-x11-drv-nouveau-0.0.10-2.20080408git0991281.fc9.i386xorg-x11-drv-digitaledge-1.1.1-1.fc9.i386此处grep命令使用-i是表示不区分大小写,这样的话无论是大写小写的git/GIT/GiT都不会逃过grep的法眼。结果发现了一些似乎使用git管理的开发项目,还有一些包含git字符的其他包,但就是没发现git包。看来我需
5、要安装一个!2如果使用fedora的yum来安装git,应该是相当简单。如果你是ubuntu,那就更简单了,用apt-get就可以。如果是gentoo的话,我想可以用emerge吧。源码安装的话,大家可以参考git官网看看。我当然毫无悬念的选择yum:rootwupengchong # yum list|grep gitgit.i386 1.5.5.1-1.fc9 updates-newkeygit-all.i386 1.5.5.1-1.fc9 updates-newkeygit-arch.i386 1.5.5.1-1.fc9 updates-newkeygit-cvs.i386 1.5.5.
6、1-1.fc9 updates-newkeygit-daemon.i386 1.5.5.1-1.fc9 updates-newkeygit-email.i386 1.5.5.1-1.fc9 updates-newkeygit-gui.i386 1.5.5.1-1.fc9 updates-newkeygit-svn.i386 1.5.5.1-1.fc9 updates-newkeygitk.i386 1.5.5.1-1.fc9 updates-newkeygitweb.i386 1.5.5.1-1.fc9 updates-newkey此处的grep命令使用了符号,表示后面的字符串需要在每行的最开
7、头位置,于是我们得到了如上的一大串git软件包。首先我能肯定的git.i386是必然需要安装的,它一定是git的主包,但诸如all、arch、cvs等等这些包到底是起什么作用呢?我有些迷惑了。于是,不得不求助baidu了。原来:git包是git的核心程序,它只包括最小的依赖关系,如果只安装git包的话,那么一些git的外围扩展将无法使用。git-all包包括了所有的集成在git上的外围扩展功能。安装了这个包,你就万事大吉了!git-arch包是为了兼容arch仓库的。大家或许听说过linux的发行版本arch,但现在说的arch和这个发行版本似乎没有必然关系。git-arch中的arch是gn
8、u arch,它是一个类似于cvs、sccs、svn的版本控制系统。git-arch包用于支持从gnu arch仓库导入到git仓库。git-cvs包用于支持从cvs仓库导入到git仓库。git-daemon包用于支持用户使用git:/形式的命令来访问git仓库。git-email包支持使用git发送邮件。(这个功能用处在哪里呢?我也不太清楚。慢慢研究中 如果哪位朋友会,在下面留个言)git-gui包是一个基于Tk的git程序,也就是说是带有GUI的,可以用鼠标点击操作的git。git-svn包用于支持从svn仓库导入到git仓库。gitk包是一个带有Tcl/Tk GUI的可以用来浏览git仓
9、库历史信息的桌面程序。(如果你对git仓库这个词没有概念的话,不要急,后面会说到。现在我们的目的就是要把git安装上。)gitweb包则是一个成熟的基于web的用于git仓库管理的web程序。3知道了每一个包的作用后,我们就来安装吧!rootwupengchong # yum install git-all.i386Dependencies Resolved=Package Arch Version Repository Size=Installing:git-all i386 1.5.5.1-1.fc9 updates-newkey 9.0 kInstalling for dependenc
10、ies:cvsps i386 2.1-6.fc9 fedora 55 kemacs-common i386 1:22.2-5.fc9 updates-newkey 19 Memacs-git i386 1.5.5.1-1.fc9 updates-newkey 53 kgit i386 1.5.5.1-1.fc9 updates-newkey 3.5 Mgit-arch i386 1.5.5.1-1.fc9 updates-newkey 28 kgit-cvs i386 1.5.5.1-1.fc9 updates-newkey 69 kgit-email i386 1.5.5.1-1.fc9 u
11、pdates-newkey 28 kgit-gui i386 1.5.5.1-1.fc9 updates-newkey 177 kgit-svn i386 1.5.5.1-1.fc9 updates-newkey 71 kgitk i386 1.5.5.1-1.fc9 updates-newkey 79 kperl-Error noarch 1:0.17012-2.fc9 fedora 27 kperl-Git i386 1.5.5.1-1.fc9 updates-newkey 18 kperl-TermReadKey i386 2.30-6.fc9 fedora 33 ksubversion
12、-perl i386 1.4.6-7 fedora 893 ktla i386 1.3.5-5.fc9 fedora 353 kTransaction Summary=Install 16 Package(s)Update 0 Package(s)Remove 0 Package(s)Total download size: 24 MIs this ok y/N:上面列出了要安装的包和依赖,真是不小,24M!点y安装!今天就到这里。今把git邀请到家了。先让它休息休息,明天继续看日记学git之二昨天将git安装到了机器了。今天起和大家一起学习下git到底是个什么东西。查了一下百度百科和维基百科
13、。git是一个版本控制系统。官方的解释是:版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。按我的白话文解释就是:一群志同道合的人身处祖国各地,希望来合作开发一个项目,假设这个项目是使用c语言写的(当然用任何语言都可以的)。那么大家怎么合作呢?用信件?效率太低。用邮件,不好实现多人沟通。用google group吧,可开发阶段中的源代码没法科学管理。用自建的网站吧,需要人力物力财力来支撑阿。这个时候版本控制系统就派上用场了。它可以让一个团队里的不同的人在不同地点、不同时间开发和改进同一个项目,并且在大部分的时间里,版本控
14、制系统会聪明的帮你把不同的人在不同地点不同时间修改的代码融合到项目中去。(当然在一些特殊的情况,还是需要人去决定到底哪些代码需要加入到项目中,这个在后面讨论不迟,先让大家对版本控制有一个好印象,呵呵)知道了版本控制系统的优点之后,下面就要具体实践和体验了。建议你选用的版本控制系统包括:rcs,cvs,svn,git,Mercurial,Bazzar等等。当然git,Mercurial和Bazzar都是属于分布式版本控制系统。下面是一些网友对于这些版本控制系统评论的只言片语:1) svk配合svn可以实现分布式的版本控制。2) 我是从SVN转到Git下的。我想Git的优势是速度飞快,谁用谁知道!
15、3) git的确是最快的,bzr慢的要死4) SVN 在 windows 下有 TortoiseSVN5) git 有 Windows 版本,在 google code 上的项目。6) 大家可以试试国内提供的git服务。知道了版本控制系统的作用了,就要进入“使用git”了。今天就到这里。明天继续。看日记学git之三昨天了解了一些关于版本控制系统的概念,知道了到底版本控制系统是用在哪些方面了。从今天我们开始重点关注git这个版本控制系统的应用了。为了学习git,我首先会登录到google查询git的官网地址,是http:/git.or.cz/。毕竟git官方网站是最权威的学习git、下载git和
16、更新git的地方嘛,其中的Documentation链接是用于用户入门和进阶的地方。最先映入眼帘的是这样一句话:git the stupid content tracker。呵呵 你可能会认为怎么可以把stupid用在git上呢?其实,stupid在这里应该解释为“傻瓜式的”,而并非是你想象的那个意思_(知你者,我也)。对的,git就是一个傻瓜式的内容跟踪器。其次,你会看到官网对于“学习路线的推介”:新手请浏览gittutorial(7),然后是Everyday Git(包括了常用命令),接着是”man git-commandname”,cvs用户需要看gitcvs-migration(7),
17、需要更全面的了解git请看Git Users Manual。如果你希望用“男人”来获取帮助,那么基本格式是这样:man git-commandname比如man git-log就是获取git日志方面的信息;man git-commit就是获取“提交项目”方面的信息。如果你连log或者commit都不知道,那也没关系,先man git看看都有哪些命令就可以了。我将按照官网的说明开始我的学习“新手请浏览gittutorial(7)”。在gittutorial(7)里将会涉及到如何导入一个新的项目。(当然如果你只是希望了解如何获取一个项目开发的代码,那么你完全可以只阅读The Git Users M
18、anual的前两章节。)1首先你最好把自己介绍给git系统,比如自己的姓名阿、email阿。命令是这样的:git config global user.name “Your Name”git config global user.email “you”我照例执行:rootwupengchong # git config global user.name “rocrocket”rootwupengchong # git config global user.email “wupengchong”2下面是学习如何导入一个新的git项目。现在我手头已经有了一个伙伴刚刚用email传给我的用c语言编写
19、的项目(假设只有main.c一个文件),而且这个项目的全部代码和资源都放在rocrocket目录下,我将用下面的步骤来导入这个项目:(黑体字为重点)rootwupengchong git-study#cd rocrocket/rootwupengchong rocrocket#git initInitialized empty Git repository in .git/rootwupengchong rocrocket#ls -a. .gitmain.crootwupengchong rocrocket#git add .rootwupengchong rocrocket#git comm
20、itCreated initial commit df1d87d: This is the first git project.1 files changed, 6 insertions(+), 0 deletions(-)create mode 100644 main.cgit init命令用于初始化当前所在目录的这个项目,shell返回的提示表明已经建立了一个.git隐藏目录来保存这个项目目前的进展信息。我们可以用ls -a看到它。git add .这个命令要求git给我目前的这个项目制作一个快照snapshot(快照只是登记留名,快照不等于记录在案,git管快照叫做索引index)。快照
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 日记 git
链接地址:https://www.31ppt.com/p-4561923.html