git知识简单小结

git特点:

1)分布式
2)存储快照而非差异
3)本地有完全的版本库,几乎所有操作都在本地
4)有内在的一致性,SHA1
5)优秀的分支管理
6)支持各种协同模式
7)开源,有一些第三方软件可整合使用,几乎所有操作都是

与CVS/SVN,Git 的优势

1)支持离线开发,离线Repository(仓库)
2)强大的分支功能,适合多个独立开发者协作
3)速度快

git的常用命令小结:

由git +(以下参数)组合
config          全局配置参数相关
init                  创建一个新的git版本库或初始化一个已存在的版本库(生产中慎重操作已存在的版本库)
add                   添加文件内容至仓库索引
diff                  显示提交之间,提交和工作区之间的差异
status                显示工作区状态
commit                记录变更(提交)到版本库(注意:需先add再commit,git才会跟踪记录)
log                   显示提交日志(可以看到commit_id等信息  --pretty=oneline过滤掉无用信息)
reflog                简要显示提交日志(简单的commit_id信息)
reset                 重置当前HEAD到指定状态(HEAD^ 为回滚至上一次版本)
rm                    从工作区和索引中删除文件
checkout              检出一个分支或路径到工作区
branch                列出,创建或删除分支
clone                 克隆一个版本库到一个新目录
bisect                通过二分法查找定位引入bug 的变更
fetch                 从另外一个版本库下载对象和引用
merge                 合并2个或多个开发历史
rebase                本地提交转移至更新后的上游分支中
mv                    移动或重命名一个文件,目录或符号链接
pull                  获取并合并另外的版本库或一个本地分支
push                  更新远程引用和相关的对象
show                  显示各种类型的对象
tag                   创建,列出,删除或校验一个GPG签名的tag对象
grep                  输出和模式匹配的行

git中的工作区(working dir),提交区/暂存区(stage/index),版本库(repository)的概念和联系

git工作流:

git 实际操作图解:

当你执行commit后,暂存区的内容就没有了

git 回滚原理图:

原文地址:https://www.cnblogs.com/blog-tim/p/11178076.html