GIT基础操作命令
最开始先介绍几个获取GIT相关资料的好地方:
安装包下载路径: https://git-scm.com/downloads
源码路径: https://github.com/git/git/releases
参考文档: http://git.oschina.net/progit/ https://git-scm.com/docs
初次运行配置
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "yourname"
$ git config --global user.email yourname@email.com
查看配置信息:
$ git config --list //查看所有配置
$ git config user.name //查看指定配置项
Git基本操作
$ git init //在目录中创建新的git仓库,完全本地化
$ git clone [url] //拷贝一个git仓库到本地,便于多人合作
例如:克隆github上的项目 $ git clone git@github.com:yourname/projectname.git 或者在最后加一个本地项目名称,重新命名。
$ git add <filename/directory> //将文件添加到缓存
如: $ git add .
$ git commit -m ‘提交说明’ //将缓存区内容提交到仓库
如:$ git commit -m '第一次版本提交'
$ git commit -a -m "Changed some files" //自动来提交本地修改
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。
-a选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。
千万注意,-a不会造成新文件被提交,只能修改。
$ git status -s //查看项目的当前状态,-s 表简短的结果输出
$ git diff //查看未缓存的改动(写入缓存与已修改但未写入缓存的比较)
$ git diff --cached //查看已缓存的改动
$ git diff HEAD //查看已缓存和未缓存的所有改动
$ git diff -stat //显示摘要
$ git reset HEAD //取消已缓存的内容(恢复和仓库一致)
$ git rm <filename> //删除缓存和工作目录文件
$ git rm --cached <filename> //只删除缓存中的文件,保留工作目录下的文件
$ git mv //移动或重命名一个文件、目录、软链接
$ git log //查看提交历史命令
一些选项参数:
--graph 查看分支、合并、修改等的拓扑图
--reverse 逆着显示所有日志(默认是查看最新的)
--author 查看某人提交的日志
-1 显示一条
--since --before --until --after 用于指定日期
分支管理
$ git branch (branchname) //创建分支命令
$ git checkout (branchname) //切换分支命令
多个分支同一个目录,因为切换分支的时候,git会把该分支的最后提交的快照替换为工作目录的内容。
当前分支有修改文件未提交时,无法切换分支。
当前分支有新建文件时,可以切换分支,并且会把新建文件的状态带入新分支。
$ git checkout -b (branchname) //创建新分支并立即切换到该分支下命令(相当于git branch和git checkout的合并):
$ git merge (branchname) //合并分支命令,由branchname合并到本分支。
如果两分支有相同的文件,且有不同的修改,自动合并会有冲突,需要处理修改后再提交。
$ git branch //列出分支命令
$ git branch -d (branchname) //删除分支命令
git标签
$ git tag -a <tagname> -m "标签说明" //创建一个标签
如:git tag -a v1.0 -m "初级版本标签"
$ git tag -a <tagname> <commit号> //补打标签
如:git tag -a v0.9 85fc7e7
$ git log --decorate --graph //查看提交日志和标签
$ git tag 或 git tag -l 或 git tag -list //查看标签
$ git tag -d <tagname> //删除标签