Git学习整理
2017-03-12 22:54
218 查看
写在前面
最近在学习廖老师关于Git教程的文章,觉的很棒,在此记录下,备忘Git教程。关于版本控制系统(简单整理)
集中式:SVN版本库集中存放在中央服务器中,干活的时候,先从服务器中获取最新的版本—》修改后—》提交到中央服务器中
优势:使用简单。有权限配置,方便管理员找那个空每个开发者的权限。(不知道这算不)
劣势:必须联网,网速慢简直就灾难。当然,中央服务器宕机的话,也就无法协同工作了
分布式:Git
每个人的电脑上都是一个完整的版本,可以在不联网的情况下对版本库使用
优势:对于版本库的修改不必联网解决,具有强大的分支管理,此外还有很多
劣势:使用难度较大
Git安装
关于安装请参考教程与官网,或自行谷歌百度重要命令整理
查看帮助文档:git help
最常用的 git 命令有:add
添加文件内容至索引
bisect
通过二分查找定位引入 bug 的变更
branch
列出、创建或删除分支
checkout
检出一个分支或路径到工作区
clone
克隆一个版本库到一个新目录
commit
记录变更到版本库
diff
显示提交之间、提交和工作区之间等的差异
fetch
从另外一个版本库下载对象和引用
grep
输出和模式匹配的行
init
创建一个空的 Git 版本库或重新初始化一个已存在的版本库
log
显示提交日志
merge
合并两个或更多开发历史
mv
移动或重命名一个文件、目录或符号链接
pull
获取并合并另外的版本库或一个本地分支
push
更新远程引用和相关的对象
rebase
本地提交转移至更新后的上游分支中
reset
重置当前HEAD到指定状态
rm
从工作区和索引中删除文件
show
显示各种类型的对象
status
显示工作区状态
tag
创建、列出、删除或校验一个GPG签名的 tag 对象
命令 ‘git help -a’ 和 ‘git help -g’ 显示可用的子命令和一些指南。参见‘git help <命令>’ 或 ‘git help <指南>’ 来查看给定的子命令帮助或指南。
常用命令用法
Git安装好后,设置用户的姓名和邮箱(为保证提交时提交者和作者信息的正确性):git config –global user.name “xxx”
git config –global user.email “xxx@xxx.com”
初始化仓库(将当前目录生成版本库)
git init
添加文件到暂缓区
git add 文件名
提交文件到版本库
git commit -m ‘说明信息’
状态查询
git status
查看尚未暂存的文件更新部分,不加参数
git diff
命令 | 释义 |
---|---|
git diff 文件名 | 查看工作区内指定文件修改的内容 |
git diff –stat | 以简单的结果输出不同内容 |
git diff –cached | 查看已经暂存起来的文件和上次提交时文件的差异 |
git diff HEAD | 比较工作区与提交的版本库的区别 |
git diff HEAD^ | 比较工作区与上次提交的区别 |
git diff 版本号1 版本号2 | 比较提交的两个版本间的区别 |
git log
只显示当前分支下commit记录
命令 | 释义 |
---|---|
git log -n(正整数) | 查看最近n次提交历史记录 |
git log file | 查看指定文件的提交记录,file可以是标签、分支等 |
git log 版本号 | 查看指定版本包括commit的详细记录 |
git log –pretty=oneline | 单行显示提交历史信息 |
git log -p -n | 查看最近N次提交的差别 |
–graph | 以简单的图形方式列出提交记录 |
–author=someone | 查询指定作者的提交记录 |
参数 | 释义 |
---|---|
%H | 提交对象(commit)的完整哈希字串 |
%h | 提交对象的简短哈希字串 |
%T | 树对象(tree)的完整哈希字串 |
%t | 树对象的简短哈希字串 |
%P | 父对象(parent)的完整哈希字串|
%p | 父对象的简短哈希字串 |
%an | 作者(author)的名字 |
%ae | 作者的电子邮件地址 |
%ad | 作者修订日期(可以用 -date= 选项定制格式) |
%ar | 作者修订日期,按多久以前的方式显示 |
%cn | 提交者(committer)的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期,按多久以前的方式显示 |
%s | 提交说明 |
撤销操作
git reset
取消git add<文件>到暂存区的更改,工作区不受影响
命令 | 释义 |
---|---|
git reset HEAD | 同git reset |
git reset – filename | 将文件filename撤出暂存区 |
git reset HEAD filename | 同上 |
git reset –soft HEAD^ | git commit 的逆操作 |
git reset HEAD^ | 工作区不变,暂存区会回退到上次提交之前 |
git reset –mixed HEAD^ | 同上,–mixed可忽略 |
git reset –head HEAD^ | 彻底回退到之前一次提交 |
git reset –head 版本号 | 回退到指定版本 |
查看整个本地存储所有的操作记录
git reflog
–relative-date 显示相对时间
删除命令,最后需提交到版本库
git rm
未完待续!
参考
http://www.cnblogs.com/gbyukg/archive/2011/12/12/2285419.htmlhttp://blog.csdn.net/dbzhang800/article/details/6418215
http://www.cnblogs.com/wish123/p/3963224.html
相关文章推荐
- Git和GitHub在线学习资源整理(转)
- git的学习笔记整理
- git使用学习之——oschina资料记录 (整理)
- git的学习笔记整理
- Git命令学习整理
- Git和GitHub在线学习资源整理
- git学习笔记整理-3提交与移除
- Git学习笔记整理
- Git学习笔记整理
- git学习笔记整理-2一次完整的操作
- Git 学习笔记整理
- Git和GitHub在线学习资源整理
- 【整理】Git 学习
- git 学习整理
- 分布式版本管理git学习资料整理推荐
- 整理了旧有代码并应用了git来托管代码另外大量阅读了关于学习安排方面的资料
- git学习资料整理
- 分布式版本管理git学习资料整理推荐
- 在学习git的过程中,遇到如下问题,特整理如下:
- git学习笔记整理-3-