git使用

来源:互联网 发布:网络白莲花是什么意思 编辑:程序博客网 时间:2024/06/14 21:06

博文来自http://blog.csdn.net/wzy_1988/article/details/8776617

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

前言

之前项目里一直都是用svn进行代码的版本控制,自己对svn仓库的搭建以及svn的使用还是挺熟练的,但是git作为一个更牛逼的版本控制工具,而且互联网上很多具有开源精神的大神也在github上托管了自己的代码,还是很值得我学习使用一下的,这里会记录自己学习使用git的一些心得,会持续的更新

入门

我系统的是ubuntu12.04 desktop,默认情况下,ubuntu中没有安装git,所以首先需要在系统中进行git的安装


git安装

[html] view plaincopyprint?
  1. sudo apt-get install git-core  

申请git帐号

如果只是需要将github上感兴趣的代码拷贝到本地,自己进行修改使用,而不打算共享发布的话,其实不申请帐号也没关系,只需要git clone代码到本地就可以了。但是这种做法不是开源精神提倡的,敢于秀出自己的代码,敢于和别人一起讨论一起进步才是真正的geek。
去www.github.com注册一个帐号就可以完成申请了,具体的注册流程就不多说了

上传公钥

git是通过ssh的方式访问资源库的,所以需要将自己的公钥上传到github上
在github.com的界面中选择右上角的Account settings,然后选择SSH Keys,添加自己的公钥即可



管理自己的项目


创建git仓库

个人开发一个模块,并暂时用代码工具管理起来(这样做可以让你及时备份和恢复),创建一个git库是很容易和方便的,使用git inti命令即可



这样一个空的本地的git仓库就创建好了,并在版本库根目录中创建一个.git的子目录。以后,所有的文件变化信息都会保存到这个目录下。在.git目录下有一个config文件,需要我们添加一下个人信息后才能使用。否则我们不能对其中添加和修改任何文件
原始的config文件



我们需要加入自己的名字和邮箱

[html] view plaincopyprint?
  1. git config  user.name wangzhengyi  
  2. git config  user.email 15866883396@126.com  

修改后如下


git目录结构



目录解释
[html] view plaincopyprint?
  1. branches/   新版的Git已经不再使用这个目录,所以大家看到它一般会是空的  
  2. COMMIT_EDITMSG  保存着上一次提交时的注释信息  
  3. config  项目的配置信息  
  4. description 项目的描述信息  
  5. HEAD    项目当前在哪个分支的信息  
  6. hooks/  默认的“hooks” 脚本文件  
  7. index   索引文件,git add 后把要添加的项暂存到这里  
  8. info/   里面有一个exclude文件,指定本项目要忽略的文件  
  9. logs/   各个refs的历史信息  
  10. objects/    这个目录非常重要,里面存储都是Git的数据对象.包括:提交(commits), 树对象(trees),二进制对象(blobs),标签对象(tags)  
  11. refs/   标识着你的每个分支指向哪个提交(commit)  

git-add、git-rm

向git库中添加或删除文件。其实,说使用git-add命令向git库里添加文件是不对的,或者说至少不是全面的。git-add命令的本质是命令“git-update-index --add”的一个包装。因此,git-add除了可以添加文件,还可以标识文件修改。在调用了git-add后,才可以做commit操作。git-rm也是一样,它是“git-update-index --force-remove”的一个包装

git-status

通过该命令,我们可以查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。建议每次commit前都要通过该命令确认库状态。以避免误操作。
其实,最常见的误操作是,修改了一个文件,没有调用git-add通过git库该文件已经发生了变化就直接调用commit操作,从而导致该文件并没有真正的提交。这时如果开发者以为已经提交了该文件,就继续修改甚至删除这个文件,那么修改的内容就没有通过版本管理起来。如果每次提交前,通过git-status查看一下,就可以发现这种错误

git-commit

直接调用git-commit命令,会提交填写注释。每一次提交,git就会为全局代码建议一个唯一的commit标识代码,用户可以通过git-revert命令恢复到任意一次提交时的代码。
提交前可以用git-diff来查看文件的变化


clone别人的项目

我相信很多朋友跟我一样,都是为了得到别人的开源项目代码才开始学习使用git的,我初衷是为了得到并改进一份php实现汉字转拼音的项目代码。而获取一个项目的代码的一般做法就是用git clone命令直接复制

例如,一份汉字转拼音的代码,搜索github时候,可以的如下一些提示:



[html] view plaincopyprint?
  1. git clone ssh地址  

示例



fork别人的项目

这是git初学者最常见使用的情况,看到大牛共享了自己的代码,我们也可以贡献一下自己的力量。
  1. 首先,需要去自己感兴趣的项目中进行fork,fork出自己的一份分支来。fork之后,一般可以看到一个ssh访问的地址。例如:
    [html] view plaincopyprint?
    1. git@github.com:wangzhengyi/HanziToPinyin.git  

  2. 复制代码,使用git clone命令,这时候,代码一般来说是最新的
    [html] view plaincopyprint?
    1. git clone git@github.com:wangzhengyi/HanziToPinyin.git  

  3. 然后,开始努力的工作,不断的修改,增加内容。接着,git add, git commit。当然,你可以git checkout -b dev-branch到开发分支工作,工作完成,确认没问题了再归并:git merge
  4. 你想要修改的完成了,想发布您的改进,很简单。直接git push origin master就提交到您的github相应的项目下了。在页面上已经有“Pull Requests”的提示,让您向原始项目提交归并代码请求
  5. 当你提交“Pull Requests”请求,并被原项目作者接受您的请求。您的修改记录已经纳入了git log的列表中,这就是您的贡献证明。于是乎,告一段落了,你已经为开源世界贡献了自己的一份力量

github上传分享代码

注册了github后你就有会有0.3G的免费空间,不过只能创建公开项目,这已经可以满足代码分享的目的,而且它的代码展示方式非常的优美,基于git版本控制系统

在github上建立项目

登录github后,你可以在右边靠中那个找到一个按钮“New Repository”,点击过后,填入项目名称,说明和网址过后就可以创建了,然后会出现一个提示页面,记录下项目地址即可。

0 0