Git的存储方式:
元空间的存储方式
SVN存储方式:
文档数据库存储类似于 K -V存储
文件版本迭代 Copy
-------------------------------------------------------------------------------- GIt : 分布式管理系统
Svn: 集中式管理系统
每一个项目包含一个本地仓库,使用 GIT INIT 操作初始化一个GIT 仓库 SVN 只有一个远程仓库
GIT 可以每一个项目对应一个远程仓库
--------------------------------------------------------------------------------
GIT 常用命令
git init {本地仓库名字} 创建一个仓库{} 可选,若不指定的话,在当前目录新建 GIT 从远程库Clone项目 GIT Clone [远程库地址] GIT add {filename} 将文件添加到暂存区 GIT add -A 将工作区所有的文件添加至暂存区 GIT rm --cached target -r 将指定目录移出暂存区 GIT commit -am "快速提交所有的文件到本地库" git commit [文件名] -m "提交备注信息" GIT Branch -avv 查看本地分支 查看本地分支和远程分支 查看本地所有分支和远程分支的对应关系 GIt branch [新分支的名字] git 基于当前分支创建分支 git branch [新分支的名字] [已经存在的分支] git 基于已经存在的分支创建分支 git branch [新分支的名字] [提交的Hash码] git 基于已经提交的新建分支 git branch -d [分支名字] git 删除分支 git checkout [分支名字] git 切换分支,需要在本地库提交的情况下切换 git remote [-v] #查看远程配置 git remote add origin http:xxx.xxx #添加远程地址 git remote remove origin #删除远程地址 git push --set-upstream origin master #上传新分支至远程 git branch --track --set-upstream-to=origin/test test #将本地分支与远程建立关联 GIT 底层的存储是K-V 进行存储的,基于一个文件生成Hash Key,所以一个文件重复提交的话版本也可以保持一致 GIt的每一个分支都关联了一个树对象, 存储是以树状结构进行存储的 树对象 提交对象 一次提交即为当前版本的一个快照,该快照就是通过提交对像保存,其存储的内容为:一个顶级树对象、上一次提交的对像啥希、提交者用户名及邮
箱、提交时间戳、提交评论。 一个内容对象 ==> 存储了文件内容
一个树对像 ==> 存储了文件名及内容对像的key
一个提交对像 ==> 存储了树对像的key 及提交评论。
--------------------------------------------------------------------------------
GIT引用 当我们执行 git branch {branchName} 时创建了一个分支,其本质就是在git 基于指定提交创建了一个引用文件,保存在 .git\refs\heads\ 下。
l 演示分支的创建
git branch dev
cat.git\refs\heads\dev
git 总共 有三种类型的引用:
1. 分支引用
2. 远程分支引用
3. 标签引用 #查询比较两个版本
git log master..experiment #版本提交历史网络
git log --pretty=format:'%h %s' --graph #查看分支树
git cat-file -p master^{tree} --------------------------------------------------------------------------------
Tag 管理
标签也是基于提交创建的 但是创建的节点也是只读状态的
#查看当前
git tag
#创建分支
git tag <tag name> <branch name>
#删除分支
git tag -d <tag name> --------------------------------------------------------------------------------
GIT 的日志
6、日志管理 #查看当前分支下所有提交日志
git log
#查看当前分支下所有提交日志
git log {branch}
# 单行显示日志
git log --oneline
# 比较两个版本的区别
git log master..experiment #以图表的方式显示提交合并网络
git log --pretty=format:'%h %s' --graph

  

最新文章

  1. SQL Server提高事务复制效率优化(四)修改数据同步过程优化
  2. E: dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题。
  3. 3.1将AngularJS放入上下文
  4. Codeforces Round #368 (Div. 2) B
  5. php取整函数floor(),round(),intval(),ceil()
  6. nginx 笔记
  7. POJ 3449 Geometric Shapes
  8. BZOJ 1485: [HNOI2009]有趣的数列 [Catalan数 质因子分解]
  9. java多线程(二)-线程的生命周期及线程间通信
  10. keil应用小贴士:Use MicroLIB是干什么的
  11. xadmin后台页面的自定制(2)重写钩子函数版
  12. 删除链表的倒数第N个节点(java实现)
  13. aspx页面,取得Excel某列不同类型的数据为空
  14. mysql插入数据报错1366
  15. TensorFlow实战——个性化推荐
  16. ios6sdk 和ios7sdk 分别在ios6设备和ios7设备上的效果 对比
  17. 109. Magic of David Copperfield II 构造 难度:2
  18. [控件] CircleView
  19. HDFS handler
  20. python中__init__()、__new__()、__call__()、__del__()用法

热门文章

  1. 主线程-创建Thread类的子类
  2. Redis02 在linux安装部署(单机版)
  3. 限流器算法实现(JUC原子类使用实践)
  4. SpringCloud GateWay网关(入门)
  5. 使用 DirectSound 录制麦克风音频
  6. vue3 vite 使用NProgress.js纳米级进度条
  7. C# Socket 通信时,怎样判断 Socket 双方是否断开连接
  8. JZOJ 2114. 【GDKOI2011】反恐任务
  9. 钓鱼攻击之:OFFICE CVE-2017-11882
  10. 打印出来的数据{ob: observer}、vue 中 [__ob__: Observer]问题