1.
添加项目
1.1
可以在根节点下添加项目,方法是:File—Add File出现Add File对话框后选中相关文件,按Add之后,会弹出如下的对话框:

图1-1 Add Folder 对话框 可以在Comment中添加注释。
选择Store only latest version,是表示只保存了最新的一个版本。
选择Recursive(只对Project 标准),是指当选择整个folder添加时,该文件夹中的所有子目录一起添加。
File Type,允许你改变的file type有:Auto-detect、Binary和Text.
1.2
也可以通过File-Create Project在根目录下创建一个项目后在此项目节点下添加文件。
1.3 添加完文件后,所添加源文件的属性自动变为只读。(注:在所添加文件的文件夹下生成一个vssver文件)
1.4 添加一个File Type,方法是:Tools—options—file types—Add.
注:当前测试到,在添加*.pdf类型的文件时,不能便用Auto-detect类型。
2. 浏览Server中的文件
在SourceAnyWhere中双击要打开的文件,会弹出一个对话框,直接点击OK即可。这时SourceAnyWhere会将文件拷贝一份到本地机的临时文件夹中(临时文件夹路径在tools-options-general下设置),因原文件前面提到已经变成只读,所以临时文件也是只读属性,而且文件名会通过系统自动更改。 3. 设置工作文件夹
SourceAnyWhere
的文件夹需要在本地计算机上指定一个“working folde”。当“check out”时,相应文件会下载到这个本地工作文件夹中。我们在本地的文件中修改文件,然后把修改后的文件“check
in”回服务器。可以利用“set working folder”这条命令来建立sourceAnyWhere的文件夹和本地“working folder”的对应关系。方法是:在sourceAnyWhere的文件目录树中选中要建立对应关系的文件夹--右单击--选择“set
working folder”即可。
4. 下载最新版本文件到本地机
“get latest version”命令可以将一个文件、一组文件或整个文件夹的最新版本从SourceAnyWhere中拷贝到本地的计算机中,并用只读的形式保存起来。
方法如下:
在左侧的文件树中选择相应的文件夹右单击后,选择“get latest version”,这时会弹出一个对话框如下:

图4-1 Get latest version 对话框 make writable:设置读/写操作的。不是默认行为,但是当想要临时改变文件或者是改变文件名时有用。
Replace
writable: 当本地机有一个和下载的文件同名时,且本地机的文件是可写的同名文件时,设置系统如何执行拷贝:
Ask: 系统提示是否覆盖本地的同名文件;
Replace: 自动覆盖本地的同名文件;
Skip:不覆盖本地的同名文件;
Merge: 将两个文件合并。
在“set file time”中的三个选项如下:
current为文件最后的修改时间;
Modification为文件最近一次修改的时间;
check
in为文件最后一次check
in是的时间。
一定要养成先Get Latest Version的习惯,否则如果别人更新了代码,VC会提示你存在版本差异并问你是否覆盖、整合、保留等,如果选错了就会把别人的代码Cancel掉,所以一定要小心。 5. 下载文件到本地操作
当我们要修改一个文件时,首先要把文件从SourceAnyWhere中复制到“working
folder”中,并且以可写的形式保存,这一系列动作的命令就是check out。具体使用方法如下:
选择需要下载到本地机的文件,右单击后选择check
out,这时会弹出一个对话框。缺省的状态下“don’t get local
copy”这个选项是不选的,它的意义是这样的:如果不选保持缺省状态,当本地的同名文件是只读时,则系统首先用SourceAnyWhere中的文件更新本地的文件,本地的文件变为可写。当本地的文件是可写时,则会出现另一提示框,其中的选项leave
this file:本地文件保留当前状态,SourceAnyWhere中的文件也保留当前状态,这样有可能两个文件不一致。选项Replace your
local file with this version from source safe:用SourceAnyWhere中的文件更新本地的文件。如果选择don’t get local copy选项:则不把SourceAnyWhere中的文件拷贝到本地。
文件check成功后,可以看到文件上有红色标记,这时你的本地文件是可写的,就可以修改文件了。为了操作更简便,推荐一种check
out 方法:
当本地的文件比SourceAnyWhere中的文件内容新时,选择don’t get local copy选项。然后check in使本地机与服务器内容同步;
当SourceAnyWhere中的文件比本地机的文件内容新时,则在SourceAnyWhere中选择此文件,执行get
latest version命令,然后按照默认选项进行check out;
当两者内容相同时,按照默认选项操作。
注意:SourceAnyWhere中使用了文件锁的概念,当一个文件被别人check
out时,其他人不能check out 此文件;如果文件锁是无效的,可以查看Visual SourceAnyWhere Admin-tools-general-allow
multiple chechouts选项是否被选中。只有当check out 修改文件完毕后,一定要check in,来保证sourceAnyWhere中的文件最新。
谨记check out时将是使得代码对自己可写,对别人只读,请仅仅Check
Out自己需要修改的部分,不然你工作的时候同组成员只能休息了。
6. 上传文件到服务器操作
我们必须利用 check in命令保证SourceAnyWhere与本地的文件同步,check
in与check out 成对出现,它的作用是用本地的文件更新SourceAnyWhere中被check out 的文件。
具体操作:在SourceAnyWhere选中处于check out状态的文件,右单击选择check in即会出现一个对话框:
默认状态下它的三个复选框处于非选中状态,Override Working
Folders (只对project level):当你有不止一个的project共享文件check
out,而你想要同时check in 时有用,它只在选中Recursive时有效;Keep checked out选项,当文件执行check in 命令后,server中仍然保持为check
out 状态;remove local copy选项,可以在check in的同时,删除本地机上working folder中的同名文件。一般按照缺省选项就可以了。Check
in成功后,SourceAnyWhere和本地的文件是完全相同的,本地的文件变成了只读文件。要再次修改文件时,再执行check out操作,此时本地机的文件属性自动变为可写状态。一定记住check
out 后要check in,否则后果等同于文件不保存。一定要保证你的文档正确、可编译后再Check In否则会使得其他人也无法通过编译,那么整个工程就没法调试了。 7. undo
check out 操作
当一个文件被check
out 后,如果希望撤销这项操作,可以使用undo check out命令,操作步骤:选中处于check out 状态的文件,右单击后选择undo check out.
当SourceAnyWhere中的文件和本地的文件完全相同时,则不出现提示信息,文件恢复为普通状态。
当SourceAnyWhere中的文件和本地的这个文件不完全相同时,则出现如下提示窗口:

图7-1 Undo Check Out 对话框 local copy中包括三个选项:
replace选项:选中后会出现系统询问是否覆盖的信息,如果单击yes则是用SourceAnyWhere上的文件最后一个版本覆盖本地机上的文件,如果选择no则保留本地计算机上文件的内容,SourceAnyWhere上的文件是上次check in后的内容。此时,两个文件是一样的;
leave选项:保留本地磁盘上的内容,SourceAnyWhere的文件是上次check
in后的内容,两个文件可能出现不同;
delete选项:删除本地计算机上的这个文件。
选择一个选项后,单击OK后,文件回到普通状态。
8. edit操作
edit命令是一个组合命令,是先check out再修改的命令的组合。应当注意的是,执行edit命令后,我们修改了文件,但是SourceAnyWhere中的文件并没有同步的修改,还是需要通过check
in完成本地文件与SourceAnyWhere上文件的同步。 9. 查看文件的历史内容
方法:选中此文件,右单击选择show history,出现一个对话框如下:

图9-1 show history 对话框
Include file
history(project only):除了显示project的历史记录之外,也同样显示在此project下的文件的历史记录。
Labels only:如果已经选择了Include Labels选项,那么在file/project的历史记录中只包含了打上相同标签的记录。
Date Range:
Do not filter by date:不筛选历史记录;
On or before:在指定的日期前,筛选file/project的历史记录;
On or after:在指定的日期起,筛选file/project的历史记录;
Include range:按指定的日期范围,制约历史报告;
Include past days:在给定的过去几天里,筛选历史记录。
经选择OK后弹出一个窗体,窗体中显示这个文件的所有版本,需要查看某个版本只要直接双击该文件即可。如果需要下载某个先前的版本可以点击get按钮。需要查看该版本的详细信息可以点击Details按钮。
在该窗体中有一个pin按钮,这个按钮的作用是:锁定文件。意思就是当选中某一个文件,执行pin命令后,那么就不能对该文件进行check
in/out等操作。当对这个pinned文件进行Get latest version操作时,那么这个pinned version就被找回。
通过show history命令,可以快速地查找文件的更新/修改记录,也可以比较两个以上文件的差异,也可以通过该命令窗口,找回修改之前的版本。
10.
关于password的更改
password一般是由软件配置管理员分配的,如果需要修改密码,可以在tools-change password 下修改。
需要说明的一点是当你的SourceAnyWhere密码和windows密码相同时,启动SourceAnyWhere,不会出现提示你输入密码的对话框。 11.
关于共享
选择SourceAnyWhere—share后,弹出一个对话框,在project选项中,显示了共享来自的project的名称;Files
to share:显示了共享来自的file的名称;List Files of Type:给出了文件类型,告诉SourceAnyWhere怎样对文件进分类;Branch
after share:共享文件,直接创建一个单独的副本。文件共享后,虽然存在于不同的文件夹内,但无论是哪一个文件夹中的文件内容发生改变,所有文件夹内的文件内容都会发生变化,直到对文件进行Branch操作后,那么再改变任何一个文件内容时,不会出现同时改变的情况。所以,文件共享其实就是存在于不同文件夹内的同一个文件。
12.
功能菜单简介
u
Set working folder:
在本地机器上指定相应工程项目对应的工作目录;
u
Create project:
创建一个新的工程项目。
u
Delete:
删除一个工程项目;
u
Rename:
为工程项目重命名;
u
Properties:
查看相应的工程项目属性;
u
Label:
为已经指定的工程项目创建标签和说明文字;一个工程项目在创建成功之前,往往会出现很多的修改版本,而且本身一个工程的文件数量也相当的大,所以查找其中的某个文件时也就需要一定的时间,但是通过对文件标示标签,就可以在执行show history命令时,通过选中“labels only”选项,显示出打有相同标签的所有文件。
u
Move:
移动工程项目所在的位置;
u
Wildcard search:
允许使用通配符查找一个或多个文件。在通配符中,“?”只代表一个字符,而“*”代表多个字符。例如:你需要查找一个“index.txt”文件,就可以输入
“ * .txt” , “in???.*” or “??*.???”;
u
|