git,一款免费、开源的分布式版本控制工具,在近几年来,变得非常流行,越来越多工程师和项目都在使用,下面是关于git的一些概念小结
仓库(repository)
在git中,仓库的概念,简单地理解,就是一个需要进行版本控制的文件目录。这个目录所有的内容变动都可以通过git进行管理。
那么怎么知道这个目录是不是git的仓库呢?
只要看看当前目录有没有一个“.git”的文件夹,如果有,这里面会存放当前目录所有的版本信息,更新记录,以及git进行仓库管理的相关信息。
本地仓库
由于git的分布式特性,所以本地,即自己操作的电脑,也能作为版本管理的个体。我们可以本地对仓库进行版本管理,而不需要服务器的支持,即可以离线版本管理,像svn就不能离线版本管理,需要服务器支持才能完成版本管理。
远程仓库(remote)
简单地说,是一个能提供版本控制的服务器,用于多人协作完成一个项目。这个项目里的每个人在本地仓库完成的改动,都可以通过远程仓库进行同步,从而各自的改动能够被其他人获取到。
基于git的分布式特使,每一个本地仓库是可以关联多个远程仓库的。
git的分布式特性
怎么理解git的分布式特性?
test.jpg如上图,可以简单地理解成:
一个本地仓库(用户电脑)可以关联操作多个远程仓库,每个远程仓库可以接受多个本地仓库的同步请求。
提交(commit)
提交,其实就是每一次变动的内容,也称作每一个版本,是git版本管理的最小可操作单位。
每一次提交都会产生一个唯一的版本号,有了这个版本号,我们就能让当前目录回到这个版本对应的提交那时候的样子了。
分支(branch)
什么是分支? 每一个分支,我们可以理解成是一条线,每条线都一定会有一个起点,但是不一定会有终点。这些线有可能会交集,也有可能是平行的关系。
每一个分支,都是由很多的提交组成;每一个仓库里,会有很多分支组成。
同时,分支也有本地和远程之分。有一些分支,像只是个人自己测试或者试验用的,与你协作的人不需要看到或者用到,不用同步给远程仓库,这种分支,就是本地分支。
在远程仓库的分支,就是远程分支了。
合并(merge)
合并一般是指两个分支的内容融合到一个分支的动作,常见使用场景有本地仓库中的两个分支合在一起,远程仓库本地仓库同名的一个分支合在一起。
合并对于一个多人项目开发过程来说,是必不可少的动作,同时合并会经常产生出冲突。
冲突(conflict)
当两个人修改相同的文件,或者你在两个分支修改相同的文件,在合并变动的时候,就会出现冲突。
冲突,是需要去解决的合并问题。如果不解决冲突,就无法进行合并。
最后
以上就是一些个人自己总结关于git的一些概念理解,希望对看到的各位有帮助;如写得不好,也请多多包涵。
网友评论