热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

svn客户端命令

记几个常用的命令。首次拉仓库时,先要进行检出(url可以带端口号):svncheckouthttp:svn.example.

记几个常用的命令。


首次拉仓库时,先要进行检出(url可以带端口号):
svn checkout http://svn.example.com:9834/repos
svn checkout file://localhost/var/svn/repos
svn checkout file:///var/svn/repos
附url的使用方式:
641737-20160407102620672-191465799.png


查看当前仓库的状态,可以指定某个文件的路径(选项-v可以查看所有文件,选项-u可以看远程的和本地的比较):
svn st

对仓库修改了其中的文件or目录要暂存(目录会递归添加,可以--non-recursive 或-N 来添加空目录 ):
svn add

对拉下来的仓库稍微修改后要暂存(-F 可以用文件内容作为日志):
svn commit button.c -m "Fixed a typo in button.c."

要从暂存区域删除掉:
svn delete

将本地仓库所有文件更新到最新状态(在update之前可以先看看svn st -u):
svn update

未跟踪的新文件or目录的直接导入并commit到远程仓库的某个目录下:
svn import mytree file:///var/svn/newrepos/some/project -m "Initial import"

列出远程仓库的目录下的文件:
svn list file:///var/svn/newrepos/some/project

已经跟踪的文件需要移动or删除or拷贝or创建目录:
svn copysvn deletesvn movesvn mkdir
其中move相当于copy后再delete,这些命令可能不会立刻创建文件夹,使用--parents选项可以立刻创建。

update之后可能需要解决冲突,可以先试试:
svn resolved
若不行,再按提示解决冲突,再add解决后的文件,再commit即可。

取消一些修改(file是可选的,会取消它的修改,很智能,要小心):
svn revert

查看log(-r number可以只看某版的提交,也可以直接带文件):
svn log

查看区别(可以带-r选项,也可以带文件名):
svn diff

版本号:

HEAD
版本库中最新的(或者是“最年轻的”)版本。
BASE
工作拷贝中一个条目的修订版本号,如果这个版本在本地修改了,则这里指的是这个条目
在本地未修改的版本。
COMMITTED
项目最近修改的修订版本,与BASE相同或更早。
PREV
The revision immediately before the last revision in which an item changed. Technically, this boils down to COMMITTED−1.


验证

svn默认会缓存你的账户和密码,但是是明文的。一次性的不使用该缓存,只要在命令后面加:
--no-auth-cache
要永久不缓存密码,可以在svn的配置文件中写:
store-passwords = no
要切换到其他的账户,可以如下这样,它会再提示输入密码的,这样又会被保存起来了:
svn --username


状态

使用命令svn st会出现一些状态:

A item
预定加入到版本库的文件、目录或符号链的item。
C item
文件item发生冲突,在从服务器更新时与工作拷贝(如果更新时没有解决)的本地版本发生
交迭,在你提交到版本库前,必须手工的解决冲突。
D item
文件、目录或是符号链item预定从版本库中删除。
M item
文件item的内容被修改了。


冲突

update之后会有如下的选项:

(p) 让文件在更新完成之后保持冲突状态。
(df) diff-full 使用标准区别格式显示base修订版本和冲突文件本身的区别。

(e) edit 用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。

(r) resolved 完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。
(mf) mine-full 丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。
(tf) theirs-full 丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。

(l) launch 启动一个外置程序来执行冲突解决,这需要一些预先的准备。

(h) help 显示所有在冲突解决时可能使用的命令。

转:https://www.cnblogs.com/xcw0754/p/5283049.html



推荐阅读
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
author-avatar
Jacky麦麦9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有