Git 系列教程(1)- Git 简介
前言
- 因为工作中目前要大量使用 Git,虽然之前已经会用了,但没有系统的总结过,现在来重新总结
- 概念篇会直接搬网上的教程,比如:菜鸟、廖雪峰、老张、中文版Git,就不再花时间自己总结过概念了
Git 是什么?
- Git是目前世界上最先进的分布式版本控制系统(没有之一),用于敏捷高效地处理任何或小或大的项目
- Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
- Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
什么是集中式版本控制系统?
- 版本库是集中存放在中央服务器的
- 而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活
- 干完活了,再把自己的活推送给中央服务器
- 中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆
缺点
- 集中式版本控制系统最大的毛病就是必须联网才能工作
- 如果在局域网内还好,带宽够大,速度够快
- 可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,体验极其不好
什么是分布式版本控制系统?
- 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,就不需要联网了
- Git 这种系统,客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录
- 那任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复, 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份
- 它还以指定和若干不同的远端代码仓库进行交互,因此你就可以在同一个项目中,分别和不同工作小组的人相互协作,可以根据需要设定不同的协作流程
Git 和 SVN 的区别
Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别
Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里
Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录
Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征
Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
Git 的工作流程
Git 系列教程(1)- Git 简介的更多相关文章
- [译]Atlassian Git系列教程
国庆期间把Atlassian的Git系列教程看完了.边看边翻译了相关文章. 原教程: https://www.atlassian.com/git/tutorials/ 我翻译的: git init g ...
- Windows系统Git配置教程(Git配置git config)
Windows系统Git配置教程(Git配置git config) 在很多Git配置教程中,多是安装完毕后就告诉大家要配置用户名和邮箱,但是这个配置是保存在哪里呢,配置后面的参数有什么不同呢,下面 ...
- Git 系列教程(11)- 分支简介
前言 很多版本控制系统都有分支这个概念 使用分支意味着可以将日常工作从主线上脱离,从而避免影响主线 Git 鼓励在工作流程中频繁使用分支和合并 Git 是如何保存数据的 Git 保存的不是文件的变化或 ...
- Git系列教程三 配置与基本命令
一.安装Git 网上有很多安装教程,可以参考.这里使用的是Windows版本的Git,点击这里下载. 二.基本设置 安装完成后,通过点击鼠标右键就可以看到新添加了俩个Git命令:Git GUI Her ...
- Git 系列教程(2)- Git 安装
前言 直接复制官网的教程了,不对自己百度吧,不然就参考下我的几篇文章 Linux安装Git(源码安装) https://www.cnblogs.com/poloyy/p/12186802.html 在 ...
- Git 系列教程(5)- 记录每次更新到仓库
文件状态 你工作目录下的每一个文件只有两种状态:tracked 或 untracked tracked 已跟踪 tracked 的文件是指那些被纳入了版本控制的文件 在上一次快照中有它们的记录,在工作 ...
- Git 系列教程(7)- 撤销操作
撤销操作 在任何一个阶段,你都有可能想要撤销某些操作 有些撤销操作是不可逆的 --amend 修补提交 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了. 此时,就可以运行带有 -- ...
- Git 系列教程(8)- 远程仓库的使用
查看远程仓库 如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出你指定的每一个远程服务器的名称 如果是刚 clone 下来的自己的库,能看到 origin,这是 Gi ...
- Git 系列教程(9)- 打标签
打标签 一般会给提交历史打个标签,方便后续进行筛选.查看 列出标签 可带上可选的 -l 选项 --list $ git tag v1.0 v2.0 这个命令以字母顺序列出标签 可以按照特定的模式查找标 ...
随机推荐
- 用QT写的简单Todo记事本-附源码(浮动窗口)
去年边学边写了搞了很久, 已经好久没继续开发了, 先放出来供大家参考吧. 发现自己的学习能力还是不错的. 技术点: 使用QT, QML技术 代码参考: https://github.com/cnscu ...
- SQL语句(五)子查询
目录 一.子查询含义 二.子查询分类 按子查询的位置分 按结果集的行列数不同分 三.WHERE后面的子查询 1. 标量子查询 2. 列子查询(多行子查询) 3. 行子查询(结果为一行多列或多行多列) ...
- postman怎么调中文
事先准备 1 安装好postman. 下载网址:https://www.postman.com/downloads/ 2 下载好app.zip中文压缩包,下载地址:https://wws.lanzou ...
- fiddler 之 返回数据乱码解决方法
1.有时用fiddler抓包, 发现抓到的包, 发送数据和返回数据都是乱码, 怎么办? 直接上图 (这办法不是100%成功的) 方法一: 方法二:
- 如何将代码优雅的插入到word中
介:写博客或者word时需要插入代码,但如何更优雅的将代码插入到word中呢? 反面教材如下: 技巧步骤1:插入表格,设置表格无边框: 技巧步骤2:使用Notepad++的高级功能: 大部分代码编辑器 ...
- 跟我一起写 Makefile(十四)
使用make更新函数库文件 ----------- 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件.在Unix下,一般是由命令"ar"来完成打包工作. 一.函数 ...
- 为VIM添加Python扩展
VIM的自带的脚本功能很强,但只能用在VIM自己上,如果让它支持Python脚本,那简直就无敌了,这个想法当然不是我想出来的,应该说英雄所见略同,于是乎vim7.2就内建了对python2.4的支持, ...
- 在包一级定制log4j日志输出
软件开发和维护过程中,日志是必不可少的工具,对于一个10万行规模的产品,要分析它的某一部分,最简单的方法是将log4j配置文件的rootLogger的输出级别设置为debug,但这样将使产品的所有部分 ...
- Manage Historical Snapshots in Sonarqube
Login as admin, go to a dashboard of a project, then click "Configuration -> History" a ...
- SpringBoot-静态资源加载-源码
目录 静态资源映射规则 什么是webjars 呢? 第二种静态资源映射规则 参考链接 静态资源映射规则 SpringBoot中,SpringMVC的web配置都在 WebMvcAutoConfigur ...