git学习笔记(一)

前段时间,在老师和学长的带领下完成了一个科研装置系统的项目开发,在本项目开发中,学长严格按照企业级项目开发流程带领我们,让我们在了解了前后端分离项目实质的同时,还学习并使用了通过git来上传并托管代码。既然尝到了用git托管代码的甜头,今天我就来整理一下有关git的基本使用和好处。

一、Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

git工作原理/流程
  • Workspace:工作区

程序员进行开发改动的地方,是你当前看到的,也是最新的。平常我们开发就是拷贝远程仓库中的一个分支,基于该分支进行开发。在开发过程中就是对工作区的操作。

  • Index / Stage:暂存区

.git目录下的index文件, 暂存区会记录git add添加文件的相关信息(文件名、大小、timestamp…),不保存文件实体, 通过id指向每个文件实体。可以使用git status查看暂存区的状态。暂存区标记了你当前工作区中,哪些内容是被git管理的。当你完成某个需求或功能后需要提交到远程仓库,那么第一步就是通过git add先提交到暂存区,被git管理。

  • Repository:仓库区(或本地仓库)

保存了对象被提交 过的各个版本,比起工作区和暂存区的内容,它要更旧一些。git commit后同步index的目录树到本地仓库,方便从下一步通过git push同步本地仓库与远程仓库的同步。

  • Remote:远程仓库

远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的。

二、SVN与Git的最主要的区别?

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。然后解决冲突、消除差异,保存一个共同的版本就可以了。

三、安装Git

git的安装和配置 比较简单 ,这里就不详细介绍了。网上由很多详细的教程,如果想要了解,请移步至此:git安装

四、常用Git命令

接下来,先了解一下git的相关操作指令。

图表由w3cschool整理

这里我贴上由W3Cschool整理的有关git操作的图表,清晰而且全面,值得借鉴。

标签

发表评论