③在要提交的文件上点右键→Team→提交...会提交文件,在弹出的对话框中可以不填写日志。文件提交后,图标会变为“金色的圆柱体”表示当前文件的版本和服务器端一致。
④文件修改后图标会变为“*”,表示当前文件或目录包含未提交的修改。
8.6 更新
①更新整个项目时可以在项目上点右键→Team→更新
②更新某个具体的文件时,可以在文件上点右键→Team→更新
8.7 共享项目
①在Eclipse中创建的新项目想要发布到SVN服务器端,可以通过“共享”项目实现
②在项目上点右键→Team→Share Project...→选择一种版本控制工具
选择一个资源库位置
切换到Team Synchronizing透视图,选择项目中要提交的内容,通常是项目中的全部内容
8.8 回复历史版本
①在需要回复的文件上点右键→Team→显示资源历史记录→得到如下界面
②选择某一个历史记录点右键→获取内容。文件就会恢复到指定版本的状态,同时图标变为“*”。
③获取历史记录时,如果出现如下错误提示
可以通过将对应版本库中的svnserve.conf文件中的anon-access设置为none解决。
8.9 解决冲突
①什么情况下会发生冲突
<1>两个开发人员,Harry和Sally,分别从服务器端下载了文件A。
<2>Harry修改之后,A变成了A’,Sally修改之后,A变成了A’’。
<3>Harry先一步提交,使服务器端文件的版本也变成了A’
<4>Sally本地的文件A’’已经过时了,此时她已无法提交文件,服务器会要求她先进行一次更新操作。
<5>此时Sally的更新操作有两种可能
(1)Sally所做的修改与Harry不是同一个位置,更新操作尝试合并文件成功。
(2)Sally所做的修改与Harry恰好是同一个位置,更新操作尝试合并文件失败,发生冲突。
<6>发生冲突后,本地工作副本会发生如下变化
(1)文件A中的内容发生如下改变
public static void main(String[] args) {
System.out.println("Edit By Command!");
System.out.println("Edit By Command!");
<<<<<<< .mine
System.out.println("Edit By Eclipse!");
=======
System.out.println("Edit By Command!New Edit");
>>>>>>> .r14
System.out.println("Edit By Command!");
System.out.println("Edit By Command!");
}