本文需要用到的工具有:Git/VisualSVN-Server/TortoiseSVN
因为是初步接触,所以我们仅需要掌握如何利用Git或者SVN来把服务器的项目拉到本地,以及把本地代码上传至服务器即可。
虽然本文是Git和SVN的教程,但当下Git是最火热的工具了,以后逐步加深对Git的学习,SVN懂得基础操作即可,除非团队真的要用SVN合作。
简略概括Git和SVN的区别:
1.Git好用但上手慢,SVN上手快但难用(核心区别 - - )
2.SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git:
首先在GitHub上新建一个仓库,然后切记新项目要添加一个README.md,不然就这样克隆到本地,本地项目再上传时没包含README.md的话很容易上传失败
建完仓库后就是把项目克隆到本地。在本地项目的目录内右键,点击git bash here打开命令窗口(也可以直接点git bash,不过得用cd xxxxx来切换目录,麻烦)
(刚接触git的小朋友请注意,$后面是git的命令,以后你想通过git bash安装npm/webpack什么的,不要把教程里的命令连$也一起复制了。)
输入$ git clone xxxxx(XXX为服务器地址,我们在仓库里可以复制得到。git bash里不可以用快捷键粘贴,需要右键选择paste)
这样项目就克隆下来了,查看一下你的项目目录吧。
接着我们要修改一下项目的文件,然后把它上传回GitHub。新建一个test.text
右键GIT GUI here(如果你懂得git相关命令也可以用git bash操作)
点击Stage Changed,文件就处于等待commit阶段
如果直接COMMIT会出错
原来是需要我们补充一些对于此次上传的说明。那么点Sign Off
再次commit,OK。commit是把项目提交至本地仓库,便于离线时使用。接着push到远程仓库
Success!Excited! push时是需要输入账密的,不过因为我之前上传过了这次就不用。git就到这了。
SVN:
SVN是可以把代码上传至它的服务器的,不过因为我们主要使用GitHub,所以就不用它的服务器了。同样,我们先新建一个仓库,并且添加README.md。 忘记说了,md是markdown的意思,README是用markdown这种语法来编辑的。
在项目目录内右键选SVN Check out
上面的目录是服务器目录,同样在GitHub的仓库里复制(要把.git去掉),下面的是本地项目目录。
check out成功,多了branches和trunk两个目录
为什么没有tag呢?因为我没有用到SVN创建仓库这一功能,而是直接用GitHub的仓库。不过并无大碍
接下来我们要修改项目文件,然后上传。记住要在两个目录(trunk或者branches)下修改,不然会出错。
在trunk里新建一个test.txt。右键选择SVN commit
勾上要上传的文件,点OK。
回GitHub看一下,是不是上传成功了呢?