zoukankan      html  css  js  c++  java
  • Git版本号控制 为什么那么复杂 头大 (忍不住强烈吐槽)

    想把自己的源代码保存到云端。想到了用Github.com,然后便開始看怎么使用GIT。

    一開始,没有接触之前,想的非常easy的。应该就跟SVN几乎相同吧。写好了提交就能够了。

    只是使用了之后才发现根本就不是这样。并且阅读了官网的介绍说明手冊,更是认为不仅不是想象的那样,反而根本就难以理解,甚至无法理解。


    GIT官网的一段描写叙述:

    在 Git 中的绝大多数操作都仅仅须要訪问本地文件和资源,不用连网

    但假设用 CVCS 的话,几乎相同全部操作都须要连接网络。由于 Git 在本地磁盘上就保存着全部当前项目的历史更新,所以处理起来速度飞快。

    举个样例。假设要浏览项目的历史更新摘要,Git 不用跑到外面的server上去取数据回来,而直接从本地数据库读取后展示给你看。所以不论什么时候你都能够立即翻阅。无需等待。假设想要看当前版本号的文件和一个月前的版本号之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程server来做这件事。或是把老版本号的文件拉到本地来作比較。

    用 CVCS 的话。没有网络或者断开 VPN 你就无法做不论什么事情。但用 Git 的话。就算你在飞机或者火车上。都能够很愉快地频繁提交更新。等到了有网络的时候再上传到远程仓库。相同,在回家的路上。不用连接 VPN 你也能够继续工作。

    换作其它版本号控制系统,这么做差点儿不可能,抑或很麻烦。比方 Perforce,假设不连到server,差点儿什么都做不了(译注:默认无法发出命令 p4 edit file 開始编辑文件,由于 Perforce 须要联网通知系统声明该文件正在被谁修订。

    但实际上手工改动文件权限能够绕过这个限制,仅仅是完毕后还是无法提交更新。);假设是 Subversion 或 CVS,尽管能够编辑文件,但无法提交更新,由于数据库在网络上。看上去好像这些都不是什么大问题,但实际体验过之后,你就会惊喜地发现,这事实上是会带来非常大不同的。

    地址:http://www.git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80#%E8%BF%91%E4%B9%8E%E6%89%80%E6%9C%89%E6%93%8D%E4%BD%9C%E9%83%BD%E6%98%AF%E6%9C%AC%E5%9C%B0%E6%89%A7%E8%A1%8C



    1)不用联网就能够使用?

    SVN不用联网也是能够使用的。为什么GIT还得特别强调自己不用联网就能够使用。


    2)不用联网就能够使用?

    这个让人实在是无法理解。不用联网就能够使用。假如不联网的时间长达1天、10天、1年甚至10年,你每天自己改动本地的。10年之后才提交,那还算是版本号控制吗?

    别人都在疯狂的提交代码更新。而你却一直都是在本地编辑改动自己的,提交到本地,可是不push到远程。这样1年、10年,再联网提交过去。

    git还能够奇妙到帮你自己主动合并了????????????????????????????????????????????????????






  • 相关阅读:
    Windows Server 2012配置开机启动项
    Windows Server 2019 SSH Server
    NOIP2017 senior A 模拟赛 7.7 T1 棋盘
    Noip 2015 senior 复赛 Day2 子串
    Noip 2015 senior复赛 题解
    Noip 2014 senior Day2 解方程(equation)
    Noip 2014 senior Day2 寻找道路(road)
    Noip 2014 senior Day2 无线网络发射器选址(wireless)
    Noip2014senior复赛 飞扬的小鸟
    Noip 2014 senior 复赛 联合权值(link)
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7126509.html
Copyright © 2011-2022 走看看