SVN版本控制管理系统
- 1 版本管理工具作用
- 2 SVN基础
- 2.1 基本概念
- 2.2 svn基础常用操纵
- 1 检出checkout
- 2 更新update
- 3 添加add and 删除delete
- 4 提交commit
- 5 比较diff
- 6 恢复revert
- 7 日志log
- 8 合并merge
- 9 回滚---基本不用--管理员使用
背景:在团队开发协同工作中,无论是对于文件还是代码的管理规范很重要,能够及时协同工作;
版本控制概念:管理代码和文件变更的系统,它记录并跟踪了文件的历史修改记录,使团队成员能够协同开发和管理代码的不同版本。
在版本控制工具中,目前使用最广泛的是:SVN(中央集中式) + GIT(分布式);本篇主要集中在svn版本控制工具;
1 版本管理工具作用
版本控制系统能够解决什么问题?
- 版本记录–文件/代码跟踪:能够记录每个文件的修改历史,包括谁做出了修改、何时做出了修改以及修改内容。这使得开发人员可以方便地回顾和追踪代码变更,实现错误修复、功能回退等操作。
- 并行开发:在团队中,多个开发者可以同时在同一个项目下进行工作,提供冲突解决机制(当然要遵循操作规范可以避免),来额外保证不同开发者的合并;
- 备份和恢复:svn仓库作为整个项目中的提及最新跟踪备份;假如本地文件损失或误操作,可以进行从仓库中恢复;
- 分支和合并:允许开发者在不影响主线开发的情况下进行实验性工作或者修复紧急bug等;
- 历史追测: log提供了详细的代码/文件提交历史记录;
- 代码比较:允许开发者比较不同版本的代码差异,来找出不同点,方便找出问题引入点或解决点;
SVN版本工具是采用集中式的仓库管理模式,所有的版本历史和文件都存储在一个中央服务器上,方便管理和维护
2 SVN基础
2.1 基本概念
理解以下概念和术语对使用svn 操作是重要的;
- 仓库Repository: SVN使用一个仓库来存储项目的所有版本和变更历史。仓库是一个中央服务器,包含所有的文件和目录版本。
- 工作副本Working Copy: 工作副本是开发者在本地机器上的一个目录,它包含了从SVN仓库中检出的文件和目录。开发者可以在工作副本中进行修改,然后提交这些修改到仓库。
- 版本Rerverison: 当在本地工作目录中完成对文件或目录的修改后,可以将这些变更提交到仓库中。提交将会生成一个新的版本,并记录变更的详细信息。
- 检出Checkout: 通过检出操作,可以将仓库中的特定版本或主干(trunk)的副本复制到本地工作目录。这样,就可以在本地进行开发和修改,并记录变更历史。
- 提交Commit: 当在本地工作目录中完成对文件或目录的修改后,可以将这些变更提交到仓库中。提交将会生成一个新的版本,并记录变更的详细信息;
- 更新Update:更新是将SVN仓库中的最新更改同步到本地工作副本的过程。这可以确保开发者的工作副本是最新的。
- 分支Branch: 分支是指基于项目的某个版本创建一个独立的开发路径,用于并行开发、试验和独立维护。通过分支,可以在同一个仓库中同时进行不同的开发工作,并随时合并变更。
- 冲突Conflict:冲突发生在两个或多个开发者同时修改了同一个文件的同一部分,并且这些修改不能自动合并时。SVN会提示开发者手动解决冲突。
- 标签Tag: 标签是一个指向特定版本的引用,它通常用于标记项目的重要里程碑,如发布版本。
- 合并Merge: 合并是将一个分支的更改集成到另一个分支的过程。这通常发生在分支开发完成后,需要将其更改合并回主开发线。
- 锁定Lock: 锁定是一种机制,用于防止多个开发者同时修改同一个文件。当一个文件被锁定时,只有持有锁的开发者可以修改它。
2.2 svn基础常用操纵
svn操作主要分为两个部分:一个是管理员或者组长级别来做的svn repository的工作;另一个是开发者的常用svn 操作;在这里介绍开发者常用的svn 操作;
1 检出checkout
从SVN仓库中获取一个工作副本到本地
svn checkout <repository_url> <destination_path>
2 更新update
将本地工作副本与SVN仓库中的最新版本进行同步。
3 添加add and 删除delete
添加或删除文件;
svn add <file_path>
svn delete <file_path>
4 提交commit
将本地的更改上传到SVN仓库
svn commit -m "提交消息"
5 比较diff
比较diff代码更改;
svn diff 文件名
6 恢复revert
文件名是要恢复更改的具体文件名或文件夹名
svn revert 文件名
7 日志log
查看文件或目录的提交历史.
svn log
8 合并merge
将一个分支的更改合并到另一个分支。
svn merge source_branch target_branch
9 回滚—基本不用–管理员使用
回滚代码版本。可以使用以下命令查看提交日志:
svn log
在提交日志中,找到想要回滚的特定版本号。每个版本都有一个唯一的版本号,通常以整数表示。使用以下命令回滚到特定版本:
svn merge -c -<版本号> .
其中,<版本号>是要回滚的特定版本号。SVN将会将选定的版本回滚到本地代码副本中,并将其标记为最新版本。这将丢弃所有在该版本之后提交的更改。提交回滚操作需要将回滚后的代码变更提交回SVN仓库可以使用以下命令提交回滚后的更改:
svn commit -m "Reverted changes to version <版本号>"
其中,<版本号>是回滚到的特定版本号。
[REF]
1.https://blog.csdn.net/Long_xu/article/details/133384392