mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
175 字
1 分钟
svn使用
2024-11-04

svn是什么#

svn是跟git一样的文件管理工具,不过跟git不同,svn不是分布式管理,而是通过一个

服务器对代码仓库进行管理。同时svn对文件安全管理的细粒度较git更高,可以不仅对一个仓库进行checkout,同时可以对仓库内部的一个文件夹/文件进行checkout。

SVN仓库#

svn在使用前,需要有一个仓库。

  • 自建仓库
  • 线上免费仓库

SVN客户端#

SVN比较倾向于用图形化客户端,比如tortoiseSVN。

SVN命令行使用#

checkout#

svn checkout svn://url
svn checkout svn://url save-dir
svn checkout svn://url --username xxx --password xxx

commit#

# 描述是必须的,但是可以填写空字符串,不指定
svn commit -m "提交描述"
# 只提交指定文件或目录
svn commit /path/to/file-or-dir -m "提交指定文件"
# 指定后缀的所有文件
svn commit *.js -m "提交所有 js 文件"

update#

# 更新到最新
svn update
# 更新到指定版本的代码。特别是最新版本代码有问题时,我们可以用这个命令回到之前的版本
svn update -r xxx
# 仅更新指定文件或者目录
svn up /path/to/file-or-dir

add#

# 添加指定文件或目录
svn add /path/to/file-or-dir
# 添加当前目录下所有 php 文件
svn add *.php

delete#

svn delete /path/to/file-or-dir
# 删除版本控制,但是本地依旧保留文件
svn delete /path/to/file-or-dir --keep-local

log#

# 查看当前目录的日志
svn log
# 查看指定文件或目录的提交日志
svn log /path/to/file-or-dir
# 查看日志,并且输出变动的文件列表
svn log -v
# 限定只输出最新的 5 条日志
svn log -l 5

diff#

# 查看当前工作区的改动
svn diff
# 查看指定文件或目录的改动
svn diff /path/to/file-or-dir
# 本地文件跟指定版本号比较差异
svn diff /path/to/file-or-dir -r xxx
# 指定版本号比较差异
svn diff /path/to/file-or-dir -r 1:2

revert#

# 撤销文件的本地修改
svn revert test.php
# 递归撤销目录中的本地修改
svn revert -R /path/to/dir

ignore#

# 忽略所有 log 文件。注意最后有个点号,表示在当前目录设置忽略属性。
svn propset svn:ignore "*.log" .
# 递归忽略 global-ignores
svn propset svn:global-ignores "*.log" .
# 从文件读取忽略规则,一行一个规则。
svn propset svn:ignore -F filename.txt .
# 打开编辑器修改忽略属性
svn propedit svn:ignore .
# 查看当前目录的属性配置
svn proplist . -v
# 删除当前目录的忽略设置
svn propdel svn:ignore .

command list#

# status
svn status
svn status /path/to/file-or-dir
# cleanup
svn cleanup
# info
svn info
#ls
svn ls
svn ls -r 100
# cat
svn cat test.py -r 2
# blame
svn blame filename.php
# change svn url
svn switch --relocate old_url new_url

branches#

# 创建分支,从主干 trunk 创建一个分支保存到 branches/online1.0
svn cp -m "描述内容" http://svnbucket.com/repos/trunk http://svnbucket.com/repos/branches/online1.0
# 合并主干上的最新代码到分支上
cd branches/online1.0
svn merge http://svnbucket.com/repos/trunk
# 分支合并到主干
svn merge --reintegrate http://svnbucket.com/repos/branches/online1.0
# 切换分支
svn switch svn://svnbucket.com/test/branches/online1.0
# 删除分支
svn rm http://svnbucket.com/repos/branches/online1.0

help#

# 查看SVN帮助
svn help
# 查看指定命令的帮助信息
svn help commit
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

svn使用
https://dreaife.tokyo/cn/posts/svn-tool-guide/
作者
dreaife
发布于
2024-11-04
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
博客迁移-Mizuki配置记录
infra 从notionNext迁移到mizuki的过程记录,主要原因是notionNext的限制。选择mizuki是因为其轻量级和良好的功能平衡,支持日记和项目展示。配置过程简单,内容通过md和ts文件控制,同时实现了与bangumi API的连接。计划通过CI同步notion内容,并进行多语言适配,解决了图片链接过期的问题。
2
github action自动部署angular页面
infra 配置angular项目以自动部署到GitHub Pages,包括修改angular.json文件的outputPath,安装angular-cli-ghpages,创建GitHub Actions工作流以在推送到指定分支时构建并部署项目,并生成访问repo所需的token。最后,设置GitHub Pages的分支为gh-pages。
3
docker初识
infra Docker是一种解决微服务部署问题的技术,通过将应用及其依赖打包到隔离的容器中,避免了环境不一致和依赖冲突。Docker与虚拟机的主要区别在于性能和资源占用,Docker启动速度快且占用空间小。Docker架构包括镜像和容器,用户可以通过DockerHub共享和获取镜像。基本操作包括镜像和容器的创建、管理以及数据卷的使用,以实现数据的持久化和容器与宿主机的解耦。Docker Compose可以简化分布式应用的部署过程。
4
github上传大文件
infra 要在GitHub上上传大文件,需要安装Git Large File Storage(LFS),并在本地Git仓库中进行配置。具体步骤包括安装LFS、配置跟踪大文件的指针,并通过相应的命令上传文件。完成这些步骤后,即可成功上传大文件至GitHub。
5
angular初步使用
FRONTEND Angular初步使用指南包括项目创建、Angular CLI命令、组件与模块的结构、数据绑定、指令、服务与依赖注入、路由与导航、表单处理、HTTP客户端、RxJS、状态管理、性能优化、PWA和国际化等内容,提供了详细的命令示例和代码结构,帮助开发者快速上手Angular开发。

目录