SVN 整 理
- SVN基本概念
- repository(源代码库):源代码统一存放的地方
- Checkout(提取):当你手上没有源代码的时候,你需要从 repository checkout 一份
- Commit(提交):当你已经修改了代码,你就需要Commit到repository
- Update (更新):当你已经 checkout 了一份源代码, update 一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
- 下载地址: https://sourceforge.net/projects/win32svn/
- SVN生命周期
- 版本库:版本库相当于一个集中的空间,用于存放开发者所有的工作成果。版本库不仅能存放文件,还包括了每次修改的历史,即每个文件的变动历史。Create 操作是用来创建一个新的版本库
- 检出:Checkout 操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中。
- 更新: Update 操作是用来更新版本库的。这个操作将工作副本与版本库进行同步
- ReName操作:可以更改文件/目录的名字。"移动"操作用来将文件/目录从一处移动到版本库中的另一处
- 复查变化:当你对工作副本进行一些修改之后,你的工作副本会比版本库要新。在 commit 操作之前复查下你的修改。Status 操作只是提供了一个变动列表,但并不提供变动的详细信息。你可以用 diff 操作来查看这些变动的详细信息。
- 修复错误:Revert 操作重置了对工作副本的修改。它可以重置一个或多个文件/目录。当然它也可以重置整个工作副本。
- 解决冲突:合并的时候可能会发生冲突。Merge 操作会自动处理可以安全合并的东西。其它的会被当做冲突。Resolve 操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。
- 提交: Commit 操作是用来将更改从工作副本到版本库
- SVN检出操作详细
- 命令: svn checkout svn://192.168.0.1/runoob01 --username=user01
- 解决冲突
svn update -r6 更新本地代码到对应版本,如果有冲突,手动选择
- SVN提交操作
- svn status:查看当前本地文件状态
- svn add: 将文件已经成功地添加到了版本控制中
- svn commit -m:文件提交到版本库中
- SVN版本回退
- svn revert:回退单个文件到未提交的状态
- svn revert -R :回退整个文件夹到位提交的状态
- 已经提交的内容:通过svn merge -r 22:21 回退对应文件:22:21 版本号
- 其他
- svn log: 用来展示svn 的版本作者、日期、路径等等。
- svn diff: 用来显示特定修改的行级详细信息。
- svn cat: 取得在特定版本的某文件显示在当前屏幕。
- svn list: 显示一个目录或某一版本存在的文件。
- SVN分支
- 本地创建分支:svn copy 文件夹/ branches/my_branch
- 提交本地分支到版本库:svn commit -m “add my_branch”
- 切换分支:cd branches/my_branch/
- 编辑新分支内容,并提交新代码
- 切换到主分支,更新最新代码update操作
- 在主分支,将my_branch分支的代码合并过来:svn merge …/branches/my_branch/
- 最后将主分支的最新代码commit到版本库
- SVN标签(tag)
- tag概念:Tags 即标签主要用于项目开发中的里程碑,比如开发到一定阶段可以单独一个版本作为发布等,它往往代表一个可以固定的完整的版本