1、集中式和分布式区别

1.1 集中式

  集中式版本控制系统,版本库是集中存放在中央服务器的。用户都是用自己的电脑,要先从中央服务器取得最新的版本,然后coding,最后把代码推送到中央服务器。
  集中式版本控制系统的弊端是需要联网工作;

1.2 分布式

  分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,coding时无需联网,版本库就在各个用户的本地电脑上。
  相比于集中式版本控制,安全性更高,每个用户电脑都有完整的版本库。
  Git拥有强大的分支管理,这是CVS、SVN不具备的优势。

2、git的安装和使用

2.1 git安装

(1)linux下:sudo apt-get install git
(2)windows下:安装gitbush

2.2 git使用

(1)创建工作区
  在本地电脑里创建空目录,即为工作区,这个目录里的所有文件都可以被git管理,每个文件的修改、删除都能够被git追踪,便于后期追踪历史记录,在某个时刻可以还原;
(2)使用git管理仓库(版本库)
  git init
  在该仓库中会多一个.git目录;(如果不需要git管理,则删除这个目录就可以实现)
注意
  若在linux看不到这个目录,可以使用ls -ah查看这个隐藏的目录;
(3)git改动
  版本控制系统无法追踪图片、视频等二进制文件,且Microsorf的word格式的也是二进制格式,所以也无法追踪,只能知道其大小的改变。版本控制系统只能追踪文本文件的改动,如txt文件。

2.3 git操作案例

如在git仓库中添加一个test.txt文件

2.3.1 将文件添加到仓库:

  git add test.txt

2.3.2 将文件提交到仓库:

  git commit -m “提交test.txt文件”
-m后面输入的是本次提交的说明,便于后期查看提交记录;
注意
添加文件到Git仓库,分两步:
  使用命令git add <file>,注意,可反复多次使用,添加多个文件也可以使用git add -u一次性添加追踪的文件;
  使用命令git commit -m <message>,完成。

2.3.3 查看提交历史记录

  git log
  git log --pretty=oneline
每提交一个版本,git就会将它们自动串成一条时间线;

2.3.4 查看文件区别

  git diff <filename>
查看工作区和版本库里最新版本的区别:
  git diff HEAD -- <filename>

2.3.5 查看某次提交修改不同之处

  git show <commit-hash-id>

2.4 git log使用

  git log

2.4.1 查看特定的人的提交记录

  git log –author=xiaoming

2.4.2 压缩显示log

一个压缩后的每一条记录只占一行的输出:
  git log –pretty=oneline

2.4.3 查看文件改变

  git log --name-status

2.4.5 简略查看日志

  git log --graph --pretty=oneline --abbrev-commit

3.2 回退版本

(1)使用git log查看提交记录进行回退
  git reset --hard xxx
若要回退到上一个版本:
  git reset --hard HEAD^
或者使用commit-id(前几位即可)
  git reset --hard commit-id
(2)若想要恢复之前的回退
使用git reflog查看commit-id

Git—基础知识及常用命令(系列一)相关推荐

  1. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  2. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  3. Git的基础知识和常用命令

    源代码的管理从最原始的手工备份到后来的CVS, SVN和GIT的应用,经历了一个漫长的过程.GIT大概是除了linux内核以外, Linus Torvalds对信息技术发展的另一重要贡献啦. GITH ...

  4. Redis基础知识+安装+常用命令使用

    Redis NoSql概述 为什么用NoSql 单机MySQL的时代! 上古90年代,更多的是静态网页,动态交互类型的网站不多.一个基本网站访问量一般不会太大,单个数据库可以轻松应付. 现如今的大数据 ...

  5. Linux 1:基础知识和常用命令

    文章目录 一.Linux基础 1. 为什么要学习Linux? 2. Linux学习方法 二.Linux历史介绍 三.Linux简介 1. Linux和window系统有什么区别? 2. Linux的内 ...

  6. zookeeper基础知识以及常用命令

    zookeeper简介 1.中间件,提供协调服务. 2.作用于分布式系统,发挥其优势,可以为大数据服务. 3.支持java,提供Java和c语言的客户端API. 什么是分布式系统 1.很多台计算机组成 ...

  7. Linux基础知识、常用命令

    一.Linux文件与目录管理 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录. 相对路径: 路径的写法,不是由 / 写起,例如由 /usr/share/do ...

  8. Redis(三):Redis基础知识与常用命令

    1.基础命令 Redis默认有16个数据库,用的是第0个数据库,可以使用select进行切换数据库,使用DBSIZE查看DB大小(只针对当前数据库). 使用keys * 查看当前数据库下所有的key, ...

  9. Git基础知识、使用命令

    git教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256 ...

最新文章

  1. #423 Div2 D
  2. 2017-10-5模拟赛T2 小Z爱排序(sorting.*)
  3. JSON序列化(stringify)对象时排除某些属性的两种方法
  4. Tomcat源码分析(九)--Session管理
  5. 如何运用并行编程Parallel提升任务执行效率
  6. 《Groovy语言规范》-语法(一)
  7. asp.net配置web.config发电子邮件详解
  8. Unity 自动化打包XCode工程
  9. 次世代贴图材质制作的提示和秘籍
  10. “信号声源定位实验”
  11. Tabby使用之:中文乱码问题
  12. 使用EJS脚本实现花生壳动态域名更新服务(二)
  13. 自学 R 语言的十条干货技巧分享
  14. sourcetree clone很大的项目
  15. OpenAI Whisper and ChatGPT 语音助手
  16. GNU Make 使用手册(于凤昌中译版)
  17. 【毕业设计】Stm32单片机的音乐播放器设计 - 物联网 嵌入式
  18. spring MVC 获取servletContext,实现文件下载功能
  19. Android逆向writeup,【技术分享】春秋杯逆向第一题writeup
  20. Yolo-FastestV2在树莓派4B上的MNN移植记录

热门文章

  1. 基于docker在Ubuntu上搭建TensorFlow-GPU计算环境
  2. linux 内核设备管理模型sysfs(入门篇)
  3. CMake使用介绍(2)
  4. 3-5比较和Fancy Indexing
  5. 安卓手机备份_备份安卓手机中的APK安装文件?小编这儿有4种方法
  6. JavaScript 时间戳(互相转换)(自定义格式)- 案例篇
  7. vue+element【后台案例 · 搜集 · 集锦】
  8. 抖音很火的失恋表白网页模板
  9. 计算机中丢失xapofx1 5.dll,xapofx1 5 dll丢失怎么办_系统提示xapofx1 5 dll丢失的解决方法...
  10. 是谁的名字缩写_浅谈女枪 or MF之争 盘点LOL中常见的英雄英文名缩写