zoukankan      html  css  js  c++  java
  • Git基本概念

    集中式版本控制系统:CVS+SVN

    先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

    • 每次修改只能联网后向远程提交。
    • 以文件变更列表的方式存储数据,将保存的信息看做是一组基本文件和每个文件随时间变化的差异。如下图:

    分布式版本控制系统:Git

    分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

    和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

    在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

     

    • 大部分命令都可以本地提交。
    • 将数据看做是文件系统的一组快照。即,每次提交的时候,对全部文件做一次快照并保存这个快照的索引。没有改动的文件只保留一个链接指向之前的存储的文件。如下图:

     

    工作区、暂存区、版本库

    • 工作区:是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
    • 暂存区:一个文件,保存工作区中文件的(id、时间戳、长度等信息),一般在Git仓库目录中。有时候也被称作“索引。使用命令git ls-files --stage来查看其内容。
    • 版本库:是Git用来保存项目的元数据和对象数据库的地方。这是Git中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
    • 使用git status [-s]来查看文件的状态。
    • git rm path/to/file将文件从暂存区移除并删除工作目录的文件。
  • 相关阅读:
    codeforces 980A Links and Pearls
    zoj 3640 Help Me Escape
    sgu 495 Kids and Prizes
    poj 3071 Football
    hdu 3853 LOOPS
    hdu 4035 Maze
    hdu 4405 Aeroplane chess
    poj 2096 Collecting Bugs
    scu 4444 Travel
    zoj 3870 Team Formation
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7216107.html
Copyright © 2011-2022 走看看