黑帽联盟

 找回密码
 会员注册
查看: 859|回复: 0
打印 上一主题 下一主题

[基础服务] Git之旅(1):版本管理,了解一下

[复制链接]

852

主题

38

听众

3176

积分

白金VIP

Rank: 8Rank: 8

  • TA的每日心情
    开心
    2024-3-7 12:52
  • 签到天数: 1538 天

    [LV.Master]伴坛终老

    在这里,会循序渐进的总结跟git相关的一些概念与操作,这些文章都是新手向的,由浅入深,以便自己回顾,也方便他人参考。

    既然是新手向的,我们就从头开始聊吧,了解过git的朋友就不用看了。

    先来说说我用笨办法进行版本管理的一些经历···

    我创建了一个文件,test.txt,我在这个文件中写入了一行文本,文本如下
    $ cat test.txt
    abcdefg

    如你所见,文件中只有一行字母。

    现在,我又在这个文件中瞎写了一行数字。
    $ cat test.txt
    abcdefg
    1234567

    此时,文件中有两行文本了,但是,我突然又不想要第二行数字了,我想让这个文件中的文本回到上一个状态,就是说,我想让文件回到只有第一行字母的状态,怎么办呢?最简单的办法就是把第二行给删了,没错,这样做完美的解决了我的问题,但是,我之所以能这样做,就是因为文本太少,改动也太少,所以,很容易就让文件变回了之前的某个状态,但是如果文件中的文本有几百行,我改了其中的几十,当我再想回到修改几十行之前的状态,就麻烦了,因为我可能已经忘记了我修改了哪些地方,所以,保险的办法是我应该在修改之前,将文件拷贝出一个副本,然后再去修改,这样,无论我修改了多少行,无论我修改了多少次,就都能够回到备份时的状态了。

    上述过程只是针对一个文件的版本管理,在实际使用的过程中,我们经常需要对一堆文件进行管理,这些文件之前通常还有关联关系,比如,你将一段代码写到了A文件中,A文件中的代码如果需要正常运行,还需要依赖B文件中的某段代码,在星期一,你修改了A文件中的代码,但是没有修改B文件中的代码,在星期二,你同时修改了A文件中的代码和B文件中的代码,在星期三,你只修改了B文件中的代码,没有修改A文件中的代码,如果你在星期三时想要获取到星期一时A文件和B文件中的代码,纯靠记忆恢复,几乎完全不可能,起码我是做不到的,如果让你手动实现版本管理,你会怎么做呢?如果是我,我只会用最笨的办法,就是每天早上开始工作之前,先拷贝一个副本出来,然后再将这个副本好好保存起来,以备不时之需。

    好吧,我通过笨办法,每天创建一个副本,这样可以保证我可以通过文件系统中的日期,找到之前某一天的所有代码的状态,日积月累,我写的代码文件越来越多,我昨天备份的副本中有30多个目录,有80多个文件,看着这些代码文件,我的成就感油然而生,这时,我想要对比一下,昨天备份的副本与7天前备份的副本之间有哪些不同,我该怎么办呢?昨天的副本可能比7天前的副本多了一些文件(新增文件),同时又少了一些文件(删除文件),而且即使文件名相同,其中的内容也被修改过(编辑文件),其中的目录结构也可能发生过变化,我想要对比昨天的副本和7天前的副本,我到底该怎么做呢?好吧,我放弃了,光是想想,就让人觉得头大。

    看来,我急需一款能够帮助我进行版本管理的软件,靠我聪明的脑子是没戏了。

    我需要一款软件,能够在我需要时,帮助我"回到过去",把文件或目录恢复到之前的某个"状态",这个软件还能够让我对比文件或目录的"当前状态"和"过去的某个状态",甚至任意两个我想要对比的"状态",你可以把我这里所说的"状态"理解成我之前保存的"副本"。

    我在互联网上搜索了一下,现在最流行的版本管理软件就是Git,而且经过了解我发现,Git能完美的解决我的问题,我现在苦恼的根本原因就是,怎样管理这些文件和目录的"状态",也就是笨办法中的"副本",Git就能化解我的苦恼,只不过,使用Git以后,我不需要再通过手动复制文件的方式创建副本了,Git能够通过另一种更加灵活方便的方式,让我们的文件和目录回到过去的任意一个"状态"。

    好了,如果你跟我有一样的苦恼,那么让我们一起来由浅入深的使用git吧,下篇文章我们就开始动手安装git。



    转载自互联网大佬,感谢撰写好文章
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部