`
wbj0110
  • 浏览: 1614223 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

git使用(转)

    博客分类:
  • Git
git 
阅读更多

前言

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

入门

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

 

git安装

  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文件
 
 
我们需要加入自己的名字和邮箱
 
  1. git config  user.name wangzhengyi  
  2. git config  user.email 15866883396@126.com  
 
修改后如下
 

git目录结构

 
目录解释
  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时候,可以的如下一些提示:
 
 
  1. git clone ssh地址  

示例
 
 

fork别人的项目

这是git初学者最常见使用的情况,看到大牛共享了自己的代码,我们也可以贡献一下自己的力量。
  1. 首先,需要去自己感兴趣的项目中进行fork,fork出自己的一份分支来。fork之后,一般可以看到一个ssh访问的地址。例如:
    1. git@github.com:wangzhengyi/HanziToPinyin.git  
  2. 复制代码,使用git clone命令,这时候,代码一般来说是最新的
    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”,点击过后,填入项目名称,说明和网址过后就可以创建了,然后会出现一个提示页面,记录下项目地址即可。
分享到:
评论

相关推荐

    czbk公开课笔记git 两小时学会Git玩转Github.zip

    在“czbk公开课笔记git 两小时学会Git玩转Github.doc”中,你将了解如何初始化一个新的Git仓库,使用`git init`命令。接着,你将学习如何添加文件到暂存区(Stage),使用`git add`,并提交更改到本地仓库,使用`git...

    《玩转Git三剑客》.zip

    苏玲可能在书中详细介绍了如何使用这些工具进行日常的Git操作,如克隆(Clone)远程仓库、拉取(Pull)和推送(Push)代码、解决冲突(Resolve Conflicts)等。 书中的“0-material.zip”可能是额外的资料包,可能...

    两小时学会Git玩转Github

    两小时让你快速学会使用git教程视频

    git下载安装使用

    git的简介文档,软件安装,Git是一个开源的分布式版本控制系统,用于...如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应Git 提供的一些概念和特征。 Git 与 SVN 区别点: idea解决文件内容冲突:等等

    玩转Git,三本pdf书籍,学完拿下git!

    玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学完拿下git!玩转Git,三本pdf书籍,学...

    Git安装及基本使用

    ### Git安装及基本使用 #### 一、Git简介 Git是一种分布式版本控制系统,用于跟踪对文件的更改,并管理这些文件的历史版本。它最初由Linus Torvalds为Linux内核开发而设计,现已被广泛应用于各种软件开发项目中。...

    GIT安装和使用教程

    ### Git安装和使用教程知识点概览 #### 一、Git简介 - **分布式特性**:Git作为一种分布式的版本控制系统,其核心优势在于每个开发者的工作站上都拥有完整的项目历史记录,这种特性使得开发者可以在没有网络连接的...

    一个很全的Git使用包括冲突的解决,命令使用Git IDEA中使用Git 在Eclipse中使用Git

    ### Git 使用详解与冲突解决 #### 一、Git 介绍 **1.1 什么是 Git** Git 是一种开源的分布式版本控制系统,适用于高效管理和维护任何形式的项目,无论规模大小。Git 最初由 Linux 的创始人 Linus Torvalds 开发,...

    Git LFS是用于使用Git管理大型文件的命令行扩展和规范 这是3.3.0的MacOS Intel安装包

    8. **迁移现有项目**:如果你的项目已经包含大型文件并且使用了Git,你可以通过特定的迁移步骤将这些文件转换为由Git LFS管理。 9. **成本考虑**:虽然Git LFS解决了大文件的问题,但需要注意的是,远程对象存储...

    svn转化为git

    使用`git-svn`工具将SVN的历史记录导入Git: ``` git svn clone --stdlayout -s svn://your_svn_url . ``` 这里的`--stdlayout`表示标准的SVN布局(trunk、branches、tags),`-s`表示设置svn.remote.url和svn....

    Git使用笔记1

    在本篇Git使用笔记中,我们将重点关注如何创建Git版本库,并检查版本库是否已经成功建立。 ### 1. 创建Git版本库 #### 1.1 创建普通目录 在开始之前,确保你已经在计算机上安装了Git。你可以通过命令行工具(如...

    Git LFS是用于使用Git管理大型文件的命令行扩展和规范 这是3.3.0的Linux ARM 64位安装包

    2. **初始化**:在你的Git项目根目录下,运行`git lfs install`命令,这会配置你的本地Git环境以使用LFS。 3. **配置**:在`.gitattributes`文件中指定哪些文件类型或路径应由Git LFS管理。例如,添加`*.psd filter...

    Git安装程序以及git使用文档

    3. 选择Git Bash的终端模拟器,可以选择使用Windows命令提示符或Git Bash。 4. 在“使用SSL CA信息”选项中,一般选择“使用系统证书存储”,除非有特殊需求。 5. 设置文本编辑器,默认为Notepad,但可以根据个人...

    Git使用说明

    ### Git使用说明知识点详解 #### 一、安装Git **1.1 安装程序** - **步骤**: 1. **下载安装文件**: 从指定路径 (`\\10.0.0.123\FTPShare\git`) 下载安装文件到本地。 2. **Git安装文件**: `Git-1.9.4-preview...

    Git与GitHub使用

    ### Git与GitHub使用详解 #### 一、Git简介与特性 **Git** 是一款非常流行的分布式版本控制系统,由Linus Torvalds于2005年为了更好地管理Linux内核开发而创建。与传统的集中式版本控制系统(如SVN)不同,Git的...

    git和gulp的使用

    以下是对Git使用的一些关键知识点: 1. **安装与配置**:首先,你需要在计算机上安装Git。安装完成后,通过`git config`命令设置用户名称和电子邮件,这是你在Git仓库中提交时的标识。 2. **克隆仓库**:使用`git ...

    git尚硅谷笔记.pdf

    - **Hash算法**:Git使用SHA-1哈希算法来唯一标识文件和提交记录,确保数据的一致性和完整性。 - **版本管理机制**: - **集中式版本控制(SVN)**:每个版本只保存修改部分,通过组合这些修改来重构完整版本。 - **...

Global site tag (gtag.js) - Google Analytics