Git和SVN最主要的区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
那么什么是版本库呢?
版本库又名为仓库,你可以理解为一个文件夹,文件夹里面的文件都会被git管理,当我们对版本库进行修改、删除等操作时,git都能跟踪到,所以开发人员可以查看到操作痕迹,如果有不满意的操作,可以将其还原。
创建版本库
(1)进入Git Bash后首先在一个合适的地方,创建一个空的目录,然后进入此目录:
$ mkdir test
$ cd test
对了,请确保当前目录下不含中文,以免出现各种不必要的问题。
以下是我的路径。
(2)使用git init
来将刚刚我们创建的目录变成git可以管理的仓库
我们可以发现多了一个.git的目录,这个目录非常重要,是git用来管理git仓库的,切忌随意修改此目录!
将文件加入到版本库中
(1)首先创建一个readme.txt文件,内容如图。
(2)将该文件放入版本库目录中,放在子目录也行。
(3)使用git add readme.txt
命令告诉git将readme.txt这个文件添加到仓库。执行完该命令后,若无任何反应,则说明添加成功!
(4)使用git commit
来告诉git将文件提交到仓库,其中-m 后是对本次提交的说明。
git反馈给我们的消息中说明了1个文件被修改,增加(insertion)了1行内容(Hello world)
补充
为什么要有git add
和git commit
两步操作呢?
因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files