版本控制器GIT、SVN初接触

来源:互联网 发布:cms建站系统 java 编辑:程序博客网 时间:2024/04/29 22:06

最开始接触的是SVN,学前端和PHP的时候,写网站部署到新浪云。云上服务器,本地客户端。后来看到很多聊分布式版本管理工具Git的,就去看了看别人的博客,
有一篇zssure的博客,原址 版本控制:SVN和GIT的一些使用感受
链接的图
>我只是个搬运工,搬过来方便自己日后的查看,博主写的挺清楚的<
1.SVN
SVN版本管理的基本流程,服务端保存的是你每次对工程进行的修改,当然第一次提交时记录的就是你的初始工程文件。那么从上图SVN服务端的目录结构中我们并未直接看到我们提交的工程文件,而利用TortoiseSVN (本地服务器)和VisualSVN(远端服务器)的Repo-browse却可以看到我们具体的项目文件,如下图。那么我们提交的文件又存到哪里了呢?直观猜测的话应该是db目录下的某些文件,因为随着提交次数的增加,该文件的大小也在变化。搜索一下相关资料,找到了如下的回答:
“svn有两种存储方式:BDB和FSFS,目前用的最多的是FSFS方式,这种方式的话,一般是存储在\db\revs文件夹下,里面有一堆以版本号命名的文件,如:0、1、2、3、4……,那个就是我们的工程文件。svn先把0版本的状态压缩成1个文件,然后每次版本更新时就针对变动的部分做一个压缩文件,每次都是增加一个增量包,最后在服务器上能看到文件名为从0开始到最终版本的一系列文件”
“SVN服务器端不是简单将上传的文件一个一个存放起来的,SVN服务器端默认采用的FSFS格式是将每次commit的内容增量方式存放的,每个增量包存成1个文件,这个增量包中包括了这次commit的全部数据。也就是说你不可能在服务器端存放该版本库的文件夹下找到你上传的某个文件”。
至此我们就明白了SVN服务端的结构。至于客户端就没什么难的了。就是通过网络协议将服务端的版本库下载到本地,存储在.svn目录下,除此以外的就是自己的工程文件了(如果你是从远端SVN服务器下载的别人的工程,那么就是别人的工程文件)。.svn中记录的是你从SVN服务器下载时刻时服务器工程文件的状态,再下一次提交时刻,会与SVN服务器通讯来查看服务器和你本地两端的修改状况。
由此我们可以看出要想对本地的修改进行记录,必须要与SVN服务器进行通讯,无法只是单纯的保存本地的修改。这也是我寻求Git的主要目的。百度百科对Git的描述是:“Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。分布式和集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库。”——反正就是一句话,Git可以完成上述我想要的本地修改记录。
2)Git管理本地代码修改
第一步,Git的版本库和工作副本在同一目录下,叫做.git。安装完Git后,可以直接在任意目录下单击右键,选择Git Init Here,建立Git版本库,即.git文件夹。(谨记:这是我们在本地建立的版本库,压根儿没有服务器毛关系啊,^_^。)
第二步,直接将我们需要管理的本地工程拷贝到.git同目录下。随后我们想正常开发一样打开工程进行操作即可,直到我想保存一下修改状态时,我们就可以转到第三步。
第三步,在工程文件夹中右键,选择Git Gui,会弹出管理窗口,这里会显示我们所做的修改,在红色框中列出的是我们做过修改的文件,橙色框中可以看到所做的修改。绿色框中显示的是修改的缓冲区,通过在红色框中选择指定文件进入到绿色的缓冲区后,我们可以单击黄色按钮“提交”,至此本次我们对本地文件的修改记录就已经提交了。
第四步,在工程文件夹右键,选择Git History,我们既可以看到本地的此次修改记录。
至此我们就很容易的实现了对本地代码修改记录,而这整个过程中,根本没出现服务器。这是与SVN最大的区别。
博主的第二篇相关博文GIT与SVN的结合
博主在博文中也有其他博主的连接地址,进行了更加详细的讲解。

3.详解coding.net,上git部署代码
Coding.net代码托管空间申请与使用-安装并运行WordPress

0 0