版本控制Git记述

进化史

本地版本控制系统

许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。 有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件。

为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。


本地版本控制系统
集中化的版本控制系统

接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作? 于是,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。这么做最显而易见的缺点是中央服务器的单点故障。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问您将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。


集中化的版本控制系统
分布式版本控制系统

于是分布式版本控制系统(Distributed Version Control System,简称 DVCS)面世了


分布式版本控制系统

Git 最常用的命令

git clone [url]
git push [远程路径(orgin)]  [本地分支(master)]:[refs/for(heads)/远程分支(master)]
git pull
git log
git show [commitId]
git diff
git status
git add .
git commit -m "[string]"
git config -l
git reset --hard [commitId]
git branch -a
git checkout -b
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 Shell和vi 1.1什么是shell 在计算机科学中,Shell俗称壳,用来区别于Kernel(核),...
    福尔摩鸡阅读 4,562评论 0 1
  • 做开发,你们肯定会接触到这样一个概念,那就是版本控制。借用当下流行的一句话,如果你是一个开发人员,不理解版本控制,...
    甜甜的清风啊阅读 3,757评论 2 6
  • 学习内容: 使用Mybatis开发Dao,通常有两个方法: 原生Dao开发 Mapper接口开发方法 1. 原生D...
    Olivine_Vip阅读 3,177评论 0 0
  • 对于简书作者如何在平台内寻找自己的定位,在《聊聊我对简书的认识》这篇文章中,我提出的第一个切入点是从文章内容入手。...
    宁小南阅读 9,076评论 23 63
  • 生活太丰富、教会了我太多。看似杂乱无章、却又紧紧有条。26岁倒计时的年龄,面对生活要跑起来,但速度要把握的尽可...
    龙女快跑阅读 1,118评论 0 0