Pycharm 使用SVN进行拉取或提交 - SVN基本使用
2026/8/23 16:45:37 网站建设 项目流程

Pycharm 使用SVN进行拉取或提交 - SVN基本使用


文章目录

  • Pycharm 使用SVN进行拉取或提交 - SVN基本使用
  • 前言
  • 一、检出远程仓库
  • 二、SVN常规布局说明
    • 2.1、trunk
    • 2.2、branches
    • 2.3、tags
    • 2.4、doc
  • 三、往远程仓库doc提交文件
  • 四、拉取文件 & 更新本地副本
  • 五、删除本地文件或目录再提交至远程仓库
  • 六、根据修订版本号进行commit回滚 & 常用命令
  • 七、Pycharm 使用SVN进行拉取或提交
  • 八、IDEA 上传至SVN
  • 九、设置 svn:ignore 属性
  • 十、解决冲突

前言

SVN(Subversion)是一个集中式版本控制系统,版本控制系统是用于跟踪和管理文件(尤其是源代码文件)的更改的软件工具;

  • 版本历史:SVN允许您保存文件的修改历史,这意味着您可以查看文件的任何先前版本、查看特定更改是何时和由谁完成的,以及如果需要,还原到任何先前的版本;
  • 并发开发:多个开发人员可以同时工作于同一个项目,而不会互相覆盖彼此的更改,如果两个开发人员修改了同一文件的同一部分,SVN会标记它为冲突,以便开发人员可以手动解决;
  • 分支与合并:SVN允许创建项目的分支版本,以便在不影响主线开发的情况下进行特定的开发或修复工作,完成后,更改可以合并回主分支。
  • 数据完整性:SVN使用原子提交方法,确保提交要么完全成功,要么完全失败,从而保持数据的完整性;
  • 安全性:SVN支持访问控制,允许管理员定义哪些用户可以访问仓库的哪些部分,以及他们可以执行的操作(例如,读、写、创建分支等);

总之,SVN为开发团队提供了一个中央位置来存储、跟踪和管理文件的版本历史,同时提供了并发开发、分支管理、安全性和其他功能,以支持现代软件开发的需要;


一、检出远程仓库

  • 检出命令:svn checkout,
  • 远程仓库地址:https://examples.com/svn/gep-server/
  • 本地副本目录:/Users/xiaozhou/Desktop/MyFile/MyWork/svn-test
svn checkout https://examples.com/svn/gep-server/ /Users/xiaozhou/Desktop/MyFile/MyWork/svn-test

二、SVN常规布局说明

2.1、trunk

  • 作用:trunk通常包含项目的主线开发代码;
  • 存放内容:主要的源代码、资源文件和项目文档,通常,开发人员在这里进行日常的开发工作,并经常提交更改;

2.2、branches

  • 作用:当开发团队需要创建一个与trunk独立的代码副本进行特定的开发或维护工作时,他们会使用branches,例如,当需要为某个功能开发一个新版本或修复某个特定版本的bug时。
  • 存放内容:项目的不同开发分支版本,每个分支是trunk或其他分支的一个副本,并独立于其它分支进行开发;

2.3、tags

  • 作用:tags用于标记项目的特定版本,例如发布版本或重要的里程碑;
  • 存放内容:项目的静态版本,通常tags中的代码是只读的,意味着一旦创建了一个标记,就不应该更改它;

2.4、doc

  • 作用:根据您提供的图片,doc似乎是一个特定于您的项目的目录,可能用于存储项目相关的文档;
  • 存放内容:如使用说明、配置指南、设计文档等与项目相关的文档;

三、往远程仓库doc提交文件

  • 1、在本地副本doc目录创建一个新的文件test.md
  • 2、添加文件到SVN的版本控制:svn add test.md
  • 3、检查状态,显示所有已更改的文件:svn status
  • 4、提交更改:svn commit -m “add test.md to doc directory”

四、拉取文件 & 更新本地副本

  • 1、先进入本地副本的trunk目录,svn拉取远程仓库的文件(如果本地是最新状态可以不拉取);
  • 2、查看本地副本进行的所有修改:svn status
  • 3、提交本地的修改:svn commit -m “in manage.py append import time”
  • 添加所有新文件或目录,然后commit:svn add --force .

五、删除本地文件或目录再提交至远程仓库

  • 1、思路:在本地副本中删除某个文件或者目录,将删除操作提交即可;
  • 2、使用svn delete 文件名或目录名,而不是用本地的rm命令;
  • 3、如果不小心用rm删除了则需要说明再commit:svn delete --keep-local manage.py
  • 4、删除本地副本DjangoTest目录再commit操作如下:svn delete DjangoTest
  • 5、提交删除的操作:svn commit -m “delete directory”

六、根据修订版本号进行commit回滚 & 常用命令

  • 1、您查看提交历史:svn log
  • 2、根据修订版本号r4查看日志:svn log -r4 -v
  • 3、查看r1-r10的操作日志:svn log -r1:10
  • 4、查看当前的修订版本信息:svn info
  • 5、从当前修订版本回滚至r8(修订版本号):svn merge -r HEAD:8 .
  • 6、查看状态和差异,确保变更是您想要的:svn status,svn diff
  • 7、提交这次回滚:svn commit -m “Reverted to r8 state”
  • 8、完成以上步骤后,您的工作副本将回滚到r8的状态,并将创建一个新版本,该版本状态与r8相同;
  • 9、查看帮助命令:svn help
  • 10、查看add help的帮助命令:svn help add

七、Pycharm 使用SVN进行拉取或提交

1、在pycharm中选择/Get from VCS
2、添加好仓库的远程地址后选择需要拉取的项目仓库(可以是空的仓库)

3、在本地选择项目的存放地址

4、在pycharm中可以选择使用命令提交,也可以使用操作界面去点击提交;

5、将修改代码的操作提交至远程仓库

6、提交成功

八、IDEA 上传至SVN

1、添加Directory Mappings,设置后项目文件就会变成红色;

2、勾选

3、设置验证方式

4、右键分享项目文件

5、复制远程仓库地址并设置;

6、最后点击commit;

九、设置 svn:ignore 属性

svn propset svn:ignore-Fsvnignore.txt.

十、解决冲突

svn resolved xrgep/views/target.py

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询