SVN在国内使用率非常高(70%****到****90%) 集中式
**
**Git ****越来越多用了********分布式****
**
**Xcode****对****git****的支持更好**** ****在创建新项目的时候********直接可以选中****git****管理****
**
**
**
**Svn:
**
**操作流程****:****下载**** checkout ****提交****commit ****更新****update
**
**1. ****先在服务器创建一个****svn****代码仓库****
**
**2. ****在****user1 (****项目经理****) ****从服务器下载空的仓库********初始化项目**** ****即在空的仓库放代码********然后将本地源码更新内容提交至服务器****
**
**3. ****user2(****张三****)****从服务器下载源代码**** ****然后对项目进行修改********再提交到服务器****
**
**4. ****经理想得到最新代码********可以更新到本地****
**
**总结****:checkout****只需做一次****
**
**提醒****:****每天下班前****:commit (****必须是可运行的版本****,****不能是有错误的****)
**
** ****每天上班前****:update****前一天所以代码****
**
**
**
**使用环境****
**
**要想使用****svn****管理********必须得有两套环境****:
**
**服务器****:
**
**用于存储客户端上传的源代码****
**
**可以在****Windows****上安装****Visual SVN Server
**
**大部分情况下****,****开发人员不必亲自搭建****SVN****服务器****
**
**(****一般是项目总监或项目经理****)
**
**
**
**客户端****:
**
**上传本地的源代码到服务器****,****或者更新服务器的代码到本地****,****保持同步****
**
**可以在****mac****上使用命令行****,Versions(****和****Cornerstone****差不多****),Cornerstone(****一般用这个****),xcode(****对****svn****集成不怎么好****)
**
**开发人员属于客户端这个角色****
**
**Safari****想要使用查看****svn****里面的内容**** ****必须输入自己的****IP****地址加后面的****svn****及项目名称**** ****在编辑器里面查****Windows****下**** cmd ****打**** ipconfig****即可以找到****ip****地址****
**
**
**
**客户端使用****Xcode****提交源码********会将一些要忽略的文件也提交了********这样不好****
**
**客户端通过****cornerstorne
**
**1. ****先下载安装****Cornerstone
**
**2. ****在里面****checkout****下载仓库**** (****前提是项目经理在****svn****中创建了代码仓库****)
**
**3. ****项目经理初始化项目还是通过****xcode ****只是提交是通过****cornerstone****提交而已****
**
**git
**
**项目经理创建仓库后****:
**
**1. ****先****git clone ****版本库地址****
**
**2. ****忽略文件****(.gitignore)
**
**3. ****初始化项目****
**
**4. ****git commit–m “****注释****” :****提交到本地****
**
**5. ****gitpush ****到远程仓库****
**
**
**
**其他开发人员****:
**
**1. ****先****git clone ****一份代码****
**
**2. ****以后想要更新****,****可以用****pull
**
**
**
**git****分为工作区****(****除了****.git****目录以外的内容****)****和版本库**** (.git****目录****)****存储记录版本信息****
**
**gitadd ****和****git commit****的原理****
**
**gitadd ****是将文件修改添加到暂缓区****,git commit****是将暂缓区的所有内容提交到当前分支****
**
**
**
网友评论