svn & git详解及使用
今日话题:
(1)SVN => 新浪云SVN服务器
(2)Git&Github => 新浪云Git服务器、Node.js服务器
(3)Gulp自动化构建工具
(4)Webpack打包工具
发行版本号(Version): alpha(内测)、beta(公测)、rc(ReleaseCandicate)、ga(GeneralAvailable) 开发版本号(Revision): 开发过程中每一次的代码的修改都会生成一个开发版本号 |
1.VCS系统
Version Control System,版本控制系统;用于记录项目文件的开发版本,完成项目文件的存储、共享、合并、回退、回溯等功能。
常见的VCS软件有:
集中式VCS软件: CVS、SVN
分布式VCS软件: Bitlocker、Git
仓库(Repository):用于保存项目中所有文件(文本、二进制),以及每个文件的每次修改记录(谁/何时/修改了什么)
工作区(Working Directory):用于检出(Checkout)、编辑、提交(Commit)项目文件
2.SVN系统的使用
服务器端:
(1)安装一款SVN服务器软件(VisualSVN-Server)
(2)启动SVN服务器
(3)创建用户(User)和组(Group)
(4)为每个项目创建一个仓库(Repository),指定用户和组的访问权限
客户端:
(1)安装一款SVN客户端软件
(2)选择一个目录作为工作目录(Working Directory),检出(Checkout)服务器上的已有内容
(3)修改项目文件
(4)提交(Commit)项目文件到SVN服务器
(5)其他项目组员可以从SVN服务器上更新(Update)你提交的项目文件
4.使用WebStorm作为SVN客户端
只要首先安装SVN客户端,再启动WebStorm,它可以自动发现系统中安装的SVN客户端,如TortoiseSVN,可以使用WS中按钮直接实现SVN客户端的功能。
说明:新浪云中提交代码可以直接使用其提供的SVN服务器,使用WS远程检出/提交/更新即可。
4.Git的使用
快速入门:http://www.runoob.com/git/git-tutorial.html
深入入门:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
官方手册:https://www.gitbook.com/book/bingohuang/progit2/details
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
SVN和Git的异同点?
1、GIT是分布式的,SVN是集中式:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
提示:Git系统服务器不是必需的!每个终端都自带仓库。Git账户不需要向服务器申请,自己随意指定即可,但需要为自己创建一个唯一的身份识别号。
Git的常用操作:
使用Git作为VCS的步骤:
(1)安装一款Git客户端——msysgit——一路下一步。
(2)使用OpenSSL工具为自己创建一个唯一的身份识别号——若自己的Git服务器需要和其他的Git服务器进行数据同步,需要使用此识别号。
(3)为Git客户端中设置当前用户的user.name和user.email
git config --global user.name "用户名" git config --global user.email "邮箱名"
|
提示:上述命令中的双引号不能改用单引号!此命令本质是在修改c:/Users/Administrator/.gitconfig文件
(4)在自己的电脑上分配一个工作空间目录(整个路径中不能有中文和空白),初始化一个仓库
git init |
(5)编写文件,提交到Git暂存区
git status 查看当前工作区文件的状态 git add <文件名> 把指定的文件添加到Git暂存区 |
(6)把Git暂存区中的数据提交到仓库
git commit -m "此次提交的说明文字" 把暂存区内容永久提交到仓库 git log 查看所有的提交日志 |