对git的进一步认识

因为科研需要,所以需要对git的使用进行进一步认识,不能像之前那样只知道一点最基本的操作,但是并不能理解git到底是怎样管理项目的,所以在看别人项目的时候涉及到获取版本变更就会觉得有点困难,下面是我自己前面看视频学习以及看书总结的一些,因为有些地方总结的不是很严谨,所以仅供自己以后参考:

  1. git的思想和基本工作原理
    git把数据看做是对小型文件系统的一组快照。每次提交更新,或在git中保存项目状态时,它主要是对当时的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,git不再重新存储该文件,而是保留一个链接指向之前存储的文件。git对待数据更像是一个快照流。
    git中绝大多数操作都只需要访问本地文件和资源,不需要连接网络。例如,要浏览项目的历史,git不需要外连到服务器去获取历史,然后再显示出来——它只需直接从本地数据库中读取即可,就能立即看到项目历史。如果想查看当前版本与一个月前版本之间引入的修改,git会查到一个月前文件做一次本地的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本地处理。
    git的三种状态:已提交(committed)、已修改(modified)、已暂存(staged)。已提交表示数据已经安全的保存在本地数据库中;已修改表示修改了文件,但是还没保存到数据库中;已暂存表示对一个已修改文件的当前版本作了标记,使之包含在下次提交的快照中。
    git项目的三个工作区域:git仓库(.git directory,Repository)、工作目录(working directory)、暂存区域(staging area)。git仓库目录是git用来保存项目的元数据和对象数据库的地方,这是git中最重要的部分,从其他计算机克隆仓库时,拷贝的就是这里的数据;工作目录是对项目的某个版本独立提取出来的内容,这些从git仓库的压缩数据库中提取出来的文件,放在磁盘上供使用或修改;暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在git仓库目录中
    基本的git工作流:在工作目录中修改文件——暂存文件,将文件的快照放入暂存区域——提交更新,找到暂存区域的文件,将快照永久性存储到git仓库目录

  2. git仓库的获取
    从现有目录中初始化仓库: git init,创建一个名为.git的子目录,这个子目录包含有所初始化git仓库中所有的必须文件,这些文件是git仓库的骨干,这仅是一个初始化操作,项目中的文件还没有被跟踪;如果是在一个已经存在文件的文件夹中初始化git仓库来进行版本控制,要跟踪这些文件并提交,通过git add命令来实现对指定文件的跟踪,用git commit提交
    克隆现有的仓库:git clone+链接来克隆项目,git克隆的是该git仓库服务器上的几乎所有数据,而不是仅仅复制完成所需要的文件,每一个文件的每一个版本都会被拉取下来

  3. 记录每次更新到仓库
    检查当前的状态:git status 查看当前目录和之前有没有变化
    跟踪新文件:git add + [文件名]
    状态概览:git status -s 查看的状态输出比较简洁
  4. git分支
    git branch [新的分支名],创建一个新的分支
    git checkout [某一分支],HEAD指针切换到另一分支
  5. git协议
    裸仓库是没有当前工作目录的仓库,存放的只有git的资料,目录里只有.git子目录内容,不包含其他资料
    git使用四种主要的协议来传输资料:本地协议(Local)、HTTP协议、SSH(Secure Shell)协议、git协议
  6. git工具——搜索
    git grep命令、git log命令

以上仅仅是整理了关于git的一部分,参考的是git官网上的GitPro教材

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值