`
Kyll
  • 浏览: 101723 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

SVN 笔记

阅读更多
客户端命令:
svn
svnversion

服务器端命令:
svnlook
svnadmin

支持的 URL:
file:///
http://
https://
svn://
svn+ssh://

档案 4 种状态:
svn status 查看档案状态。
1 本地未更新, 现行版本
    档案在本地和服务器端都没有任何更新。 执行 svn commit 或 svn update 不会发生任何事情。
2 本地修改, 现行版本
    档案在本地被修改过, 服务器端没有任何其他的更新。 执行 svn commit 会将档案成功更新至服务器, svn update 不会发生任何事情。
3 本地未更新, 过时
版本
    档案在本地没有更新, 但是在服务器端有更新。 本档案应该更新, 与服务器同步。 执行 svn commit 不会发生任何事情, svn update 会让本地档案变为服务器端的最新版本。
4 本地修改,
过时版本
    这个档案在本地与服务器都被更新过, 执行 svn commit 会产生
out-of-date 错误。 这个档案应该先被更新, svn update 会试着将服务器端的版本与本地的版本合并在一起。 如果 Subversion 无法自动完成, 就留给使用者自行解决冲突。

“最”常用命令:
svn help
svn help <子命令>

在本地目录中复制或移动, 一定要用 svn copy 或 svn move, 而不要使用操作系统的复制或移动命令(因为 Subversion 不知道)。

不要删除 .svn 目录。

常用操作:
更新本地档案: svn update
产生更新: svn add, svn delete, svn copy, svn move
检查更新: svn status, svn diff, svn revert
合并: svn merge, svn resolved
提交: commit

svn update: 将本地档案与服务器同步(但要注意本地档案的状态)。
    U foo 档案 foo 被更新
   
A foo 档案或目录 foo 被添加到本地目录
        D foo 档案或目录 foo 被从本地目录中删除
   
R foo 本地档案或目录 foo 被替换
   
G foo 本地和服务器端的 foo 都没更新, 但是并没有冲突
   
C foo 本地和服务器端的档案存在冲突, 需要手工合并冲突

svn add, svn delete, svn copy, svn move 只是“预订”操作, 只有 svn commit 之后才能使服务器端发生改变。

每次 svn commit 或 svn update 之前, 先执行 svn status。

svn status 说明:
XXXXX FILE 共有五项, 以下是第一项:
A 档案或目录已预订要添加到服务器
M 档案的内容已被修改
D 档案或目录已预订要从服务器删除
X 未纳入版本控制, 但关联到一个 Subversion 外部定义
? Subversion 并未管理此档案或目录
! 档案或目录已被被纳入管理, 但是它不是消失, 就是不完整
~ 原来是档案, 现在确实目录, 或者相反情况
C 有冲突, 需要解决
第二项:
目录或档案的属性, 如果被修改过, 显示 M, 否则为空
第三项:
只显示 L 或空白, 如果显示 L, 则表示被锁定
第四项:
只显示 + 或空白, + 代表有档案或目录预订要添加到服务器
第五项:
只显示 S 或空白, 显示 S 表示档案已切换到分支


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics