Git在windows的使用.docx_第1页
Git在windows的使用.docx_第2页
Git在windows的使用.docx_第3页
Git在windows的使用.docx_第4页
Git在windows的使用.docx_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Git命令参数及用法详解您的评价:收藏该经验git命令(gnu interactive tools)功能说明:文字模式下的文件管理员。语法:git命令补充说明:git命令是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。它的操作方法和Norton Commander几乎一样,略诉如下: F1 :执行info指令,查询指令相关信息,会要求您输入欲查询的名称。 F2 :执行cat指令,列出文件内容。 F3 :执行gitview指令,观看文件内容。 F4 :执行vi指令,编辑文件内容。 F5 :执行cp指令,复制文件或目录,会要求您输入目标文件或目录。 F6 :执行mv指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。 F7 :执行mkdir指令,建立目录。 F8 :执行rm指令,删除文件或目录。 F9 :执行make指令,批处理执行指令或编译程序时,会要求您输入相关命令。 F10 :离开git文件管理员。-Git命令具体使用-Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分:第一部分,介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理第二部分,重点介绍Git的使用技巧,最后会在GitHub上创建一个开源项目开启你的Git实战之旅Git是什么Git在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目做出贡献。其实许多开源项目包括 Linux kernel、Samba、X.org Server、Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。对于我们这些喜欢写代码的开发者嘛,有两点最大的好处,我们可以在任何地点(在上班的地铁 上)提交自己的代码和查看代码版本;我们可以开许许多多个分支来实践我们的想法,而合并这些分支的开销几乎可以忽略不计。Git1+1现在进入本篇文章真正的主题,介绍一下Git的基本命令和操作,会从Git的版本库的初始化,基本操作和独有的常用命令三部分着手,让大家能够开始使用Git。Git通常有两种方式来进行初始化:gitclone: 这是较为简单的一种初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份例如:gitclonegit://someone/some_project.gitsome_project上面的命令就是将git://someone/some_project.git这个URL地址的远程版本库完全克隆到本地some_project目录下面gitinit和gitremote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用gitinit命令进行初始化,Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把 可访问的URL记录下来,此时你就可以利用gitremote add命令来增加一个远程服务器端,例如:gitremote addorigingit://someone/another_project.git上面的命令就会增加URL地址为git: //someone/another_project.git,名称为origin的远程服务器,以后提交代码的时候只需要使用 origin别名即可Git的基本命令现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令:gitpull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:gitpull origin master就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的updategitadd:是 将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如gitadd app/model/user.rb就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的addgitrm:从当前的工作空间中和索引中删除文件,例如gitrm app/model/user.rb,该功能类似于SVN的rm、delgitcommit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如gitcommit -m story #3, add user model,提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commitgitpush:将本地commit的代码更新到远程版本库中,例如gitpush origin就会将本地的代码更新到名为orgin的远程版本库中gitlog:查看历史日志,该功能类似于SVN的loggitrevert:还原一个版本的修改,必须提供一个具体的Git版本号,例如gitrevert bbaf6fb5060b4875b18ff9ff637ce118256d6f20,Git的版本号都是生成的一个哈希值上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:gitbranch:对分支的增、删、查等操作,例如gitbranch new_branch会从当前的工作版本创建一个叫做new_branch的新分支,gitbranch -D new_branch就会强制删除叫做new_branch的分支,gitbranch就会列出本地所有的分支gitcheckout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如gitcheckout new_branch就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如gitcheckout app/model/user.rb就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚gitrebase:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能gitreset:将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了gitresetbbaf6fb5060b4875b18ff9ff637ce118256d6f20那么结果就只剩下了A-C三个提交的版本gitstash:将当前未提交的工作存入Git工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解gitconfig:利用这个命令可以新增、更改Git的各种设置,例如gitconfig branch.master.remote origin就将master的远程版本库设置为别名叫做origin版本库,后面在技巧篇会利用这个命令个性化设置你的Git,为你打造独一无二的Gitgittag:可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用gittag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version标签名,而不是哈希值了Git之所以能够提供方便的本地分支等特性,是与它的文件存储机制有关的。Git存储版本控制信息时使用它自己定义的一套文件系统存储机制,在代码根目录下有一个.git文件夹,会有如下这样的目录结构:有 几个比较重要的文件和目录需要解释一下:HEAD文件存放根节点的信息,其实目录结构就表示一个树型结构,Git采用这种树形结构来存储版本信息,那么 HEAD就表示根;refs目录存储了你在当前版本控制目录下的各种不同引用(引用指的是你本地和远程所用到的各个树分支的信息),它有heads、 remotes、stash、tags四个子目录,分别存储对不同的根、远程版本库、Git栈和标签的四种引用,你可以通过命令gitshow-ref更清晰地查看引用信息;logs目录根据不同的引用存储了日志信息。因此,Git只需要代码根目录下的这一个.git目录就可以记录完 整的版本控制信息,而不是像SVN那样根目录和子目录下都有.svn目录。那么下面就来看一下Git与SVN的区别吧Git与SVN的不同SVN(Subversion)是当前使用最多的版本控制工具。与它相比较,Git最大的优势在于两点:易于本地增加分支和分布式的特性。下面两幅图可以形象的展示Git与SVN的不同之处-对 于易于本地增加分支,图中Git本地和服务器端结构都很灵活,所有版本都存储在一个目录中,你只需要进行分支的切换即可达到在某个分支工作的效果。而 SVN则完全不同,如果你需要在本地试验一些自己的代码,只能本地维护多个不同的拷贝,每个拷贝对应一个SVN服务器地址。举一个实际的例子,以前我所在 的小组使用SVN作为版本控制工具,当我正在试图增强一个模块,工作做到一半,由于会改变原模块的行为导致代码服务器上许多测试的失败,所以并没有提交代 码。这时候上级对我说,现在有一个很紧急的Bug需要处理, 必须在两个小时内完成。我只好将本地的所有修改diff,并输出成为一个patch文 件,然后回滚有关当前任务的所有代码,再开始修改Bug的任务,等到修改好后,在将patch应用回来。前前后后要完成多个繁琐的步骤,这还不计中间代码 发生冲突所要进行的工作量。可是如果使用Git, 我们只需要开一个分支或者转回到主分支上,就可以随时开始Bug修改的任务,完成之后,只要切换到原来的分支就可以优雅的继续以前的任务。只要你愿意,每 一个新的任务都可以开一个分支,完成后,再将它合并到主分支上,轻松而优雅。分布式对于Git而言,你可以本地提交代码,所以在上面的图 中,Git有利于将一个大任务分解,进行本地的多次提交,而SVN只能在本地进行大量的一次性更改,导致将来合并到主干上造成巨大的风险。Git的代码日 志是在本地的,可以随时查看。SVN的日志在服务器上的,每次查看日志需要先从服务器上下载下来。我工作的小组,代码服务器在美国,每次查看小组几年前所 做的工作时,日志下载就需要十分钟,这不能不说是一个痛苦。后来我们迁移到Git上,利用Git日志在本地的特性,我用Ruby编写了一个Rake脚本, 可以查看某个具体任务的所有代码历史,每次只需要几秒钟,大大方便我的工作。当然分布式并不是说用了Git就不需要一个代码中心服务器,如果你工作在一个 团队里,还是需要一个服务器来保存所有的代码的。总结本篇介绍了Git的基本概念、一些常用命令和原理,大家可以尝试动手体会一下,下一篇会重点介绍Git命令的使用技巧,Git附带的工具,最后会在GitHub上创建一个开源项目,敬请期待转载请务必注明原文:/command/git.htmlWindows下GIt入门试验配置教程单机版2009-11-15 22:02:02标签:git试验入门休闲单机原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。/190322/227614声明:本文的目的是提供一个在windowsXP下安装使用git的简明教程,虽然关于git在Window下如何使用的文章很多,但是作者根据那些文章做实验发现,其中有些内容对于初学者比较晦涩,导致没有接触过的人不能做好实验,误导初学者,或者给初学者带来反面的信息,打击积极性。作者在花费了3个晚上之后终于把git的安装搞定,在此做一些记录,与大家分享。安装git的环境:这一部分主要从网络上获取,但是经过一些加工或修改。需要安装两个工具:1 -Git,Windows下的Git,还是msys-git比较好。2 - SSH,可以用CopSSH,可以在Windows上启动SSH服务,而不仅是客户端。如果不知道网址,搜索一下。安装这两个工具的过程没有什么难度。这里假定Git是安装在C:Git目录下,CopSSH安装在C:ICW目录下。安装过程中添加git用户,密码也是git。默认安装的git可能不好用,需要从ssh菜单-已经激活账户中删除git,同时在电脑的本地用户和组中删除git用户,再重新建立git本地用户,授予administrator权限,在ssh的菜单中激活git用户。git已经可以从远程ssh登陆。如果在命令行中输入ssh没有发现命令,需要在系统的Path中添加C:ICWbin目录和C:Gitbin目录,输入sshgit输入密码后如果能打开远程,则说明git用户ssh登陆成功。git用户通过ssh登录以后,可以执行ls,cd等基本命令。但是git仍然然不能运行。所以,也就还不能通过这个ssh来发布git版本库了。要实现这个,需要做一些设置。首先、需要在Git的安装目录里找到cmd目录,这里就是C:Gitcmd了。在里面创建如下几个文件:git,git-upload-pack,git-upload-archive,git-receive-pack。这里都没有扩展名的,主要是给登录后,由bash执行的。每个文件都只有一行,分别是:git里写git.cmd $*git-upload-pack里写gitupload-pack $*git-upload-archive里写gitupload-archive $*git-receive-pack里写gitreceive-pack $*然后,就要给登录后的用户添加path了,保证上面添加的命令可以找到,并执行。找到CopSSH安装目录的etc下的profile文件。这里就是C:ICWetcprofile了:在文件最后添加两行gitpath=/bin/cygpath C:/Git/cmd#这里不是引号,路径是Git下的cmd,斜杠也要用Unix的习惯export PATH=$PATH:$gitpath然后,用git用户重新从SSH登录。就可以使用git命令了。如果git命令提示找不到git-upload-pack,则需要配置C:ICWhomegit下的.bashrc,在该文件的末尾添加刚才的命令gitpath=/bin/cygpath C:/Git/cmdexport PATH=$PATH:$gitpath这样基本上就可以使用了。为什么使用git命令时未加载C:ICWetcprofile,具体原因尚不清楚,但是.bashrc会被加载。启动命令行,在C:ICWvar目录下依次执行以下命令:mkdir testgitcd testgitgitinittouch a b cgitadd .gitcommit -m init然后,就可以在远程clone这个库了。进入D盘执行gitclonegit:././vartestgit testgitA则发现可以进行输出了,路径是相对于git登陆后的根目录C:ICWhomegitgitcloneanotherUser:././vartestgit testgitBclone出第二个版本库,分别在这两个库中执行操作。如果此时提交修改,则git并不知道是谁提交的,需要告诉git你是谁,在git用户的根目录C:ICWhomegit中添加.gitconfig文件(window文件名不支持.开头,创建一个文件,通过ren命名重命名)输入username =gitemail =在anotherUser用户的根目录C:ICWhomeanotherUser输入username = anotherUseremail = anotherU打开命令行,进入到testgitA中设置用户属性:set home=C:ICWhomegit,对所做的内容进行提交,最后调用gitpush命令把修改的内容永久的存放到中心版本库中,对anotherUser用户的目录testGitB需要同样的操作:set home=C:ICWhomeanotherUser,这样提交的内容就被git区分出是谁提交的了。这样基本环境就搭建好了,可以进行进一步的实验了。关于git的命令请参考手册或者到网上搜索。兴奋的git探索之旅可以开始了,祝君好运。在Windows中使用Git2011年11月15日| 标签:Eclipse,Git,MSYS,Subversion,SVN,TortoiseGit,TortoiseSVN,Windows在上一篇文章在Windows中使用Subversion(SVN)中,我们简单介绍了Windows下的SVN客户端,这里,我们将介绍Windows下的Git客户端软件,希望同样能对大家能有一些帮助。Git是一款毫不逊色于SVN的版本控制系统。官方网址:/(不知什么原因被某墙给认证了,要访问请自备梯子)。Git与SVN最核心的区别在于,SVN属于集中式的版本控制系统,而Git属于分布式的版本控制系统。详细点说就是:SVN的版本控制功能依赖于网络和用于保存版本库数据的中心服务器,如果因为某种原因导致你无法连接这台服务器,那么你的提交、更新、合并、查看版本分支图等操作都将无法进行。(PS:事实上,在仅个人使用的时候,SVN可以用file:/协议连接到本地的版本数据库。相对的,Git也可以组建成一个集中式的版本控制系统。)相比之下,Git在本地保存了完整的版本库,绝大多数操作都能在本地进行,而不依赖于网络,所以处理速度也会快上许多。这样带来的另一个更重要的好处是,即使在无法访问网络的情况下,你也可以在本地离线地进行提交更新、查看历史版本记录、创建分支等操作,等到有网络时再同步到远程版本库(例如GitH)。想要进一步了解SVN和Git的区别和优劣的朋友,可以看看这篇文章SVN与Git比较安装Git:Git最早是为了管理Linux内核开发而设计的版本控制系统,仅适用于Linux / Unix 平台。随着开发的进行,Git也开始支持Windows下运行。msysGit是Windows下基于MSYS的Git,现在被收录为官方的Git客户端(Git for Windows),可以在/p/msysgit/downloads/list?q=full+installer+official+git下载到,也可以在Git的官方首页上下载到(两个地方下载是完全相同的,不过后者需要翻墙)。安装后,你可以在开始菜单Git下点击Git Bash启动Git的命令行工具,或者点击Git GUI启动一个GUI界面的Git管理工具。Git的GUI界面工具:与SVN一样,Git在Windows中也有类似于TortoiseSVN一类界面友好,操作方便的图形化客户端软件,或者称之为外壳(Shell)程序。这些程序依赖于命令行下的Git实现功能,所以在使用Git的GUI界面工具前,你需要先安装好msysGit。下面我们介绍一下Git自带的GUI界面工具git-gui/gitk,以及两款开源免费的Git客户端Git Extensions和TortoiseGit。git-gui与gitk:Git本身自带了两个GUI界面工具,分别是用于提交更改的git-gui和用于浏览记录的gitk。点击开始菜单的Git GUI打开,如图一所示。然后可以选择创建、克隆或者打开版本库。gitk浏览记录如图二所示。git-gui与gitk基本上可以完全替代命令行工具,非常的方便。当然,如果你觉得Git自带的GUI界面功能还不够强大,我们还有其他选择。图一:git-gui图二:gitkGit Extensions:Git官方推荐的GUI界面客户端之一,支持多国语言(支持中文),支持集成到资源管理器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论