SVN相关

来源:互联网 发布:ubuntu 17.04 安装后 编辑:程序博客网 时间:2024/06/03 14:52

一、原因

     为了解决无法后悔、版本备份、版本混乱、代码冲突、权限控制、追究责任等问题,一般地在公司里会用到SVN来进行源代码的管理。

二、SVN概述

     1、常见的源代码工具有:SVN:Subversion,集中式版本控制;GIT:分布式版本控制。

     利用SVN管理源代码,必须得有2套环境:

    1)服务器:可在Windows上安装Visual SVN Server;

  2)可以在Mac上使用命令行VersionsCornerstone;

  3)概念:

    Repository:代码仓库,保存代码的仓库
     Server:服务器,保存所有版本的代码仓库
     Client:客户端,只保存当前用户的代码仓库
     用户名&密码:访问代码仓库需要使用自己的"用户名和密码",从而可以区分出不同的人对代码做的修改

   2、SVN服务器安装 Visual SVN Server

   1)添加代码仓库,弹框是否勾选默认结构(trunk, branches, tags);

      trunk:主干,

      branches:分支,

      tags:当项目上架稳定版本到APP store时备份到这个文件夹,后续发现上架版本有bug时便于修改。

    2)添加开发用户,设置权限,选中项目的代码库,点击右键,选择"Properties"。

    3)协议
       https   端口 443
       http    端口 80

       其中HTTPS = HTTP + SSL,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
    4)协议的修改
      选中"VisualSVN Server",点击鼠标右键,选择"Properties"
      选择"Network",勾选"Use secure connection"会使用https协议访问服务器的代码仓库
    5)SVN基本命令

      a、命令行格式:
      svn <subcommand> [options] [args]
      说明
      svn 子命令 [选项] [参数]
      提示:
      [中括号]中包含的内容是可选的
      (子命令缩写)

      b、查看帮助信息
         svn help:查看svn所有命令的帮助;
         svn help 子命令:查看具体某个子命令的用法。

      c、svn (status)st:查看本地代码库状态;

         状态返回描述:

          ' ' 没有修改
          'A' 被添加到本地代码仓库
          'C' 冲突
          'D' 被删除
          'I' 被忽略
          'M' 被修改
          'R' 被替换
          'X' 外部定义创建的版本目录
          '?' 文件没有被添加到本地版本库内
          '!' 文件丢失或者不完整(不是通过svn命令删除的文件)
          '~' 受控文件被其他文件阻隔

         checkout:将服务器上最新的代码仓库下载到本地,"只需要做一次"
         update:从服务器上将其他人所做的修改下载到本地,"每天上班必须要做的事情"
         commit:将工作提交到服务器,"每天下班之前至少做一次"

         svn log:查看svn日志
         svn log filename:查看某一个文件的日志
         svn log filename@1:查看某一个文件某个版本的日志

         svn add main.c:将文件添加到本地版本库中
         svn ci -m "添加了文件":将文件提交到服务器的版本库中

         svn rm Person.h:删除文件 
         svn ci -m "删除了文件":提交删除
         注意:不要使用文件管理器直接删除文件

 svn revert Person.m:撤销修改

         svn up:恢复到之前的某个版本

      d、冲突解决
         (p) postpone:对比
        (mc) mine-conflict:使用我的
        (tc) theirs-conflict:使用对方的

     6)UNIX常用命令

        cd:改变工作目录
       pwd:输出当前工作目录的绝对路径,在UNIX中要执行什么命令,一定要知道自己当前所在的工作目录
        ls:查看文件

     ls -a:显示所有文件
     ls -l:列表显示文件
    ls -la:列表显示所有文件
     ls -G:带颜色显示
     touch:用于更改文件访问和修改时间的标准UNIX程序,也被用于创建新文件,如:touch myfile.txt
      注意:touch不修改myfile.txt内容,只更改它的访问、修改时间,如果myfile.txt不存在,它会被创建

     open:打开并编写文件内容,如:myfile.txt
       cat:连续查看文件内容
      more:分页查看文件内容

  

     

0 0