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知识简单小结-LMLPHP

git工作流:

git知识简单小结-LMLPHP

git 实际操作图解:

git知识简单小结-LMLPHP

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

git知识简单小结-LMLPHP

git 回滚原理图:

git知识简单小结-LMLPHP

05-11 22:39