zoukankan      html  css  js  c++  java
  • GIT 牛刀小试 (第一发)

      Git是一款非常优秀的版本控制系统,适用范围也越来越广泛,之前学习的时候看过廖雪峰的教程。今天又看了下git pro,这个也不错http://git-scm.com/book/zh/v2,这里简单总结下git的使用方法,

    git将文件分为工作区文件,暂存区文件和版本库文件

    工作区:我们平时操作的文件

    暂存区:提交的文件

    版本库:本地仓库文件

    我们在工作区工作,将文件提交的暂存区,最后一块commit到本地仓库。

    一、安装

    linux下,可以直接命令行安装或者编译安装,这里只写命令行安装:

    $ yum install git-core
    或者
    $ apt-get install git

    Mac(git)系统和Win(git)都有图形安装界面,不再介绍;

    二、配置

    生成密钥:
    $ ssh-keygen -t rsa -C "example@example.com"
    这两个配置是一定要的: $ git config
    --global user.name "username" $ git config --global user.email "xxx@xx" 还有其他比较好玩的配置: $ git config --global merge.tool vimdiff $ git config --global core.editor emacs 等等吧 可以查看配置: $ git config --list $ git config user.name 获取帮助: $ git help $ git help config

    三、仓库

    第一种方法:
    初始化仓库 $ git init 添加文件 $ git add xx.file 提交文件 $ git commit -m "some comment"
    $ git commit -a -m "这样会直接跨过暂存区提交到本地仓库"
    第二种方法:
    克隆仓库
    $ git clone git://github.com/username/project.git (rename)
    如果有括号里的参数,新的版本库就会是那个名字,不然就是project名字;

    在接下来的过程中可以通过不断地add和commit将文件添加到本地仓库,下面这条命令用来监控仓库状态
    $ git status (-v)

    四、忽略文件

    只要在版本库中添加一个.gitignore文件即可手动配置版本库中要忽略的文件,然后git就会像看不到这些文件一样,可以这样写内容:

        # 此为注释 – 将被 Git 忽略
        # 忽略所有 .a 结尾的文件
        *.a
        # 但 lib.a 除外
        !lib.a
        # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
        /TODO
        # 忽略 build/ 目录下的所有文件
        build/
        # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
        doc/*.txt

    五、比较差异

    比较工作区和暂存区的差别
    $ git diff
    比较工作区和上次提交版本的差别
    $ git diff --cached
    $ git diff --staged

    六、删除文件

    不能只是通过操作系统将文件删除,还要通过git命令删除,这样git才能知道文件被删除了:
    从本地仓库移除跟踪,但是仍然在工作区工作(用来解决不小心将一些不必要的文件添加到本地仓库):
    $ git rm --cached readme.txt
    移除log文件夹下的所有.log文件:
    $ git rm log/*.log

    七、移动文件

    $ git mv from to
    重命名:
    $ git mv  readme.txt readme
    $ git rm readme.txt
    $ git add readme

    八、查看提交的历史

    参数可以后很多,不赘述:
    $ git log (--pretty=oneline)

    九、撤销操作

    撤销这次提交:
    $ git commit --amend
    这样只会提交一次:
    $ git commit -m "initial commit"
    $ git add forgotten_file
    $ git commit --amend

    撤销暂存区文件:
    $ git reset HEAD readme.txt

    撤销修改:
    $ git checkout -- readme.txt

    十、远程仓库的使用

    查看远程仓库:
    $ git remote [-v]
    $ git remote show [name]
    添加远程仓库:
    $ git remote add pbName git://github.com/userName/project.git
    从远程仓库抓去信息:
    $ git fetch pbName
    
    向远程仓库推送:
    $ git push [-u] origin master (新建立的链接第一次推送要添加-u参数
    
    远程仓库的删除和重命名:
    $ git remote rename pbName anotherName
    $ git remote rm pbName

    远程仓库主要都是使用Github网站,新建项目的时候要添加密钥,生成密钥:
    $ ssh-keygen -t ras -C "someone@gmail.com"

    十一、标签

    查看标签:
    $ git tag [-l]
    $ git show v1.4
    新建标签:
    $ git tag -a v1.4 -m "myVersion 1.4"
    推送标签:
    $ git push origin --tags
    $ git push origin v1.4

    标签还有很多的参数,也不意义说清楚了!

    十二、小技巧

    1、Windows的msysGit配置好了自动补全的脚本,linux还需要最自己配置,具体配置可以看git pro

    2、可以通过给命令配置别名提高使用效率,也不多说!

  • 相关阅读:
    99%的人都理解错了HTTP中GET与POST的区别
    CSS3 Border-image
    Tween.js的使用示例
    HTML5的postMessage使用记要
    Vuejs——(2)Vue生命周期,数据,手动挂载,指令,过滤器
    nodejs ejs 请求路径和静态资源文件路径
    JS逗号运算符的用法详解
    toStirng()与Object.prototype.toString.call()方法浅谈
    正则表达式之 贪婪与非贪婪模式
    利用符号进行的类型转换,转换成数字类型 ~~
  • 原文地址:https://www.cnblogs.com/kiscall/p/4699279.html
Copyright © 2011-2022 走看看