您的位置:首页 > 其它

GIT 牛刀小试 (第一发)

2015-08-03 14:37 190 查看
  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)都有图形安装界面,不再介绍;

二、配置

这两个配置是一定要的:
$ 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、可以通过给命令配置别名提高使用效率,也不多说!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: