为什么要版本控制
版本控制重要性 假设你是一个写方案的社畜,你老板叫你写一个方案 这个时候你会写一个方案,取名的时候你可能会这样写 然后发给领导,领导说,这个方案大体上已经没问题了,你再改一改其中的一些地方,
为什么要版本控制
发布时间:2023-11-20 (2023-11-20)

版本控制重要性

假设你是一个写方案的社畜,你老板叫你写一个方案

这个时候你会写一个方案,取名的时候你可能会这样写

然后发给领导,领导说,这个方案大体上已经没问题了,你再改一改其中的一些地方,再发给我就好了

如果这个时候你比较年轻,你可能会在原文件的基础上进行修改,然后发给领导,领导又说要改,然后你再改

后面不知道怎么回事,领导说,之前第一版好像也还行,要不你用第一版?

请问这个时候你该如何应对呢?

如果你有点工作经验,你会在之前那个文件基础上,再复制一份,像这样

如果你这样做过,说明你已经深深的体会到了,版本控制的重要性

but,这样做有很多问题

  1. 文件太多太杂乱
  2. 多文件,多目录,通过复制来进行版本控制,就很不优雅了
  3. 也不直观
  4. 无法协同

那么

针对一个文件,能不能有一个信息,记录这个文件每次变化的信息

例如

版本一:创建文件xxx   三天前
版本二:修改了第xx行   两天前
版本三:修改错别字xxx   两天前
版本四:领导说要改xxx   一天前
版本五:最终版   三小时前

并且,它不应该只有记录的功能,而是能够记录每次提交,此时的文件与之前文件的差异,将这些差异存储起来

这样就能做到,回退到任意一个提交节点

这个时候,git闪亮登场

git创世纪

我们的这些痛点,之前的人也同样遇到过

于是Torvalds,就是那个发明linux的老哥,因为不满那个时代的版本控制工具,例如CVS,SYN,所以就自己花了10天发明了git,一个月之内,linux的源码就由git来管理了

那么有了git,我们的操作会是怎么样的呢

git init  // 初始化一个本地仓库
git add .  // 将目录下的所有文件提交到暂存区
git commit -m 提交信息  // 提交到git本地仓库
git log // 打印提交信息
git reset --hard xxx // 快速回到其他提交节点

看到这里,很多小伙伴会在想,暂存区是干嘛的,为什么要暂存区呢

暂存区作用

  1. 分离当前工作区和版本库
  2. 分布提交,commit只会提交暂存区中的内容到版本库
  3. 避免意外提交