zoukankan      html  css  js  c++  java
  • GIt入门

     

    1.下载与安装

    下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载。

    选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。

    2.配置

    (1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下这两个参数,使用以下命令:

    Shell代码  收藏代码
    1. git config --global user.name "Your Name"    
    2. git config --global user.email "your@email.com"    

        对终端显示的配置,给文字添加颜色,更易于阅读

    Shell代码  收藏代码
    1. git config --global color.diff auto    
    2. git config --global color.status auto    
    3. git config --global color.branch auto    

    3.常用命令

    (1)git init  ,在指定的目录执行该命令,即为初始化git仓库,添加了.git文件。如果要将已存在的项目纳入管理,只需切换到项目目录,执行该命令,然后执行add,最后commit,下文有详细资料介绍。

    (2)git add .  .代表添加所有的,你也可以指定具体你想添加的文件,将计划的改动添加到缓存区。

            git add *.js  

            git add index.php 

    (3)git commit  

    Git命令代码  收藏代码
    1. //提交时,直接在命令行添加注释  
    2. git commit -m "initial commit"    
    3.   
    4. //跳过stage阶段,git自动执行stage  
    5. git commit -am 'update to index.php'    

    (4)git status   查看代码的当前状态,看是否与服务器端一致。

    (5)git branch 显示所有分支列表,要想创建分支,在此命令后添加要创建分支的名字,比如:

            git branch bigChange

    (6)git checkout,刚刚创建使用命令(5)命令创建分支,但是仍然在master,要想切换到刚刚创建的分支需要使用checkout命令,执行git checkout bigChange,切换到刚创建的分支。

    (7)git merge

    (8)git log

            git log --gragh

    (9)git pull  更新本地仓库,将服务器端的改动更新到本地

    (10)git clone /path/to/repository  检出代码,类似svn的checkout

    (11)gitk --all  图形化展示仓库

    4.如何将已存在的项目纳入git的管理

    请参考:http://jiangli.easymorse.com/?p=494

    5.工作流程

    “你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。”引用自参考资料(3)

    • 首先使用git add命令将计划的改动提交到缓冲区,
    • 然后使用git commit -m "代码提交信息"命令,将代码提交到HEAD,此时还没有提交到服务器
    • 执行如下命令以将这些改动提交到服务器:
      git push origin master
      可以把 master 换成你想要推送的任何分支。
    工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理 的文件,在上次快照中有它们的记 录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。而所有其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存 区域。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。在编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。

    6.安装eclipse插件EGIT

    (1)下载地址:http://www.eclipse.org/egit/

    (2)简介:EGit 是Eclipse项目组为git版本控制系统提供的插件。Git是一个分布式的SCM,每一个开发者都拥有代码的所有历史版本的一个完整拷贝,搜索历史非常快且灵活。

    7.GitHub

    (1)生成ssh keys

    Shell代码  收藏代码
    1. ssh-keygen -t rsa -C "your@email.com"    

     生成key文件之后,登录你的github账户,在账户设置中添加将该key添加到ssh key中。具体详细参考:

    github网站官方生成key向导:https://help.github.com/articles/generating-ssh-keys,写得非常详细。

    (2) 下载感兴趣的项目代码,此处以jquery项目为例

    git clone git://github.com/jquery/jquery.git 

    8.遇到的问题

    (1)ls不能显示中文目录问题

           经过查找资料,在http://www.cppblog.com/kusamba/archive/2010/08/23/124420.html找到解决方式,

        解决办法:在git/etc/git-completion.bash中增加一行: 
                 alias ls='ls --show-control-chars --color=auto' 

    (2)如何添加已经存在的工程到远程版本库

    请参考:http://jiangli.easymorse.com/?p=504

    (3)svn工程迁移到git方法

    请参考:http://jiangli.easymorse.com/?p=509

    .相关资源及参考资料:

    (1)Easy Version Control with Git

    http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/,详细讲解了和Github一起使用的方法。

    (2) git操作基本命令

    http://www.wojilu.com/Forum1/Topic/2236

    (3)git - 简易指南

    http://rogerdudler.github.com/git-guide/index.zh.html

    (4)从入门逐步深入的记录:http://jiangli.easymorse.com/?cat=36

  • 相关阅读:
    JAVA类加载机制
    redis 持久化的两种方式
    java动态代理(JDK和cglib)
    数据库事务的四大特性以及事务的隔离级别
    数据库范式
    Cookie/Session机制详解
    java多线程并发系列之闭锁(Latch)和栅栏(CyclicBarrier)
    BIO与NIO、AIO的区别
    高性能Server---Reactor模型
    Netty---相关
  • 原文地址:https://www.cnblogs.com/bb3q/p/4539676.html
Copyright © 2011-2022 走看看