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、可以通过给命令配置别名提高使用效率,也不多说!

 

posted @ 2015-08-03 14:37  kiscall  阅读(168)  评论(0编辑  收藏  举报