Subversion入门(经典)

来源:互联网 发布:天天英雄破解版无网络 编辑:程序博客网 时间:2024/06/10 00:15

Subversion入门

前言

和安装

做成

初始化

新模做成,import

check out 始作

追加新文件

追加新目

一般作流程

篇文章没有覆盖的内容

参考Link

 

前言

    Windows XP操作系统的命令行里,练习使用版本管理工具Subversion

    关于版本管理工具Subversion的介绍,本文没有涉及。

 

下载和安装

Subversion (subversion.tigris.org)下载页面中,找到WindowsNT,2000,XP and 2003,有以下一段文字:

The latest command-line binaries and libraries for Windows can be found in this directory of the file-sharing area.

 

点击this directory这个链接,就到了文件一览页面,选择最新的版本下载。

俺使用的是svn-1.1.4-setup.exe

  下载之后安装,默认的目录是C:/Program Files/Subversion

 

存储目录做成

   文件存储目录C:/home/repos做成

C:/> mkdir C:/home/repos

 

存储目录初始化

新做成的目录必须要经过Subversion初始化之后才能使用。

C:/> svnadmin create C:/home/repos

 

新模块做成,import

新做成一个模块,importSubversion里。

1 新做成目录和文件

建立一个目录,创建名为readme.txt的文件。

 

C:/> mkdir work

C:/> cd work

C:/work> mkdir myproject

C:/work> cd myproject

C:/work/myproject> echo This is readme file. > readme.txt

C:/work/myproject> type readme.txt

This is readme file.

 

2 把当前目录下的新模块myproject ImportSubversion的存储目录里。

注意Import的存储目录用file:///C:/home/repos来指定。

C:/work/myproject> svn import file:///C:/home/repos -m "Initial import."

Adding         readme.txt

 

Committed revision 1.

 

3 把练习用得作业目录删除

   C:/work/myproject> cd ..

C:/work> del myproject

C:/work> rmdir myproject

 

 现在为止,myproject目录里的内容都删掉了。在Subversion的存储目录里,登陆了名为myproject的模块。

 

check out 开始作业

1.把myproject模块check out

C:/work> svn checkout file:///C:/home/repos myproject

A  myproject/readme.txt

Checked out revision 1.

 

C:/work> cd myproject

C:/work/myproject> dir /b

readme.txt

 

C:/work/myproject> type readme.txt

This is readme file.

 

可以看到确实把文件从Subversion的存储空间取过来了。

其实取过来的并不仅仅是你做成的文件,还有.svn,这是Subversion版本管理用的隐藏文件。就像CVS里面每个文件夹下都有个CVS一样。用/a就能看到了

 

C:/work/myproject> dir /b/a

.svn                           

readme.txt

 

 

2.文件比较,确认两个版本的区别

 readme.txt文件里追加一行,跟存储空间里的readme.txt文件比较

 

C:/work/myproject> echo Nice to meet you. >> readme.txt

C:/work/myproject> type readme.txt

This is readme file.

Nice to meet you.

 

C:/work/myproject> svn diff

Index: readme.txt

--- readme.txt  (revision 1)

+++ readme.txt  (working copy)

@@ -1 +1,2 @@

This is readme file.

+Nice to meet you

 

4 Commit,把修正好的文件保存到Subversion的存储空间里

C:/work/myproject> svn commit -m "Add a greeting."

Sending        readme.txt

Transmitting file data.

Committed revision 2.

 

追加新文件

1 确认文件没有正在被修正

C:/work/myproject> svn update

At revision 2.

 

2 作成新文件hello.txt

  C:/work/myproject> echo Hello. > hello.txt

C:/work/myproject> type hello..txt

Hello.

 

3 追加hello.txt

C:/work/myproject> svn add hello.txt

A         hello.txt

 

4 把新追加的文件commitSubversion存储空间去。

  C:/work/myproject> svn commit -m "Add hello.txt."

Adding         hello.txt

Transmitting file data.

Committed revision 3.

 

追加新目录

新目录的追加同文件的追加基本上是一样的。

C:/work/myproject> mkdir src

C:/work/myproject> svn add src

A         src

 

1.      在目录里作成文件并追加

C:/work/myproject> cd src

C:/work/myproject/src> 在这里用记事本作成新文件Good.java

C:/work/myproject/src> type Good.java

public class Good {

    public static void main(String[] args) {

        System.out.println("Good");

}

}

C:/work/myproject/src> svn add Good.java

A         Good.java

 

C:/work/myproject/src> svn commit -m "Add a Java source file."

Adding         src

Adding         src/Good.java

Transmitting file data .

Committed revision 4.

 

C:/work/myproject/src> cd ..

 

一般作业流程

C:/work/myproject> svn update

At revision 4.

C:/work/myproject> cd src

C:/work/myproject/src>

C:/work/myproject/src> type Good.java

public class Good {

    public static void main(String[] args) {

        System.out.println("Good!!");

    }

}

 

C:/work/myproject/src> svn diff

Index: Good.java

--- Good.java   (revision 4)

+++ Good.java   (working copy)

@@ -1,5 +1,5 @@

public class Good {

     public static void main(String[] args) {

-        System.out.println("Good");

+        System.out.println("Good!!");

     }

}

 

C:/work/myproject/src> svn commit -m "Add exclamations."

Sending        src/Good.java

Transmitting file data .

Committed revision 5.

 

C:/work/myproject/src> cd ..

 

Subversion的基本使用练习到此结束,呵呵。

 

这篇文章没有覆盖的内容

1 使用svn move移动文件(cvs不能移动)

2 网络上的使用方法

3 多个人同时使用的方法

4 Unix上的使用方法

5 其他Subversion的特性

6 文件修正之后状态察看时,不使用svn update而是svn status

7 GUI

 

参考Link

http://subversion.tigris.org 官方网站

http://freebsd.sinica.edu.tw/~plasma/svnbook/book.html 迄今为止,关于subversion最好的一本书,这是繁体中文版的。

 

原创粉丝点击