TortoiseSVN中SVN update、SVN commit、add的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TortoiseSVN中SVN update、SVN commit、add的区别是啥?相关的知识,希望对你有一定的参考价值。

这三个操作在SVN上做的事情是不一样的。

update是把服务器上最新的版本下载到本地,前提是开发者本地有这个文件。

commit是将本地做过的改动,同步上传到SVN服务器,改动包括修改、新增、删除、改名、移动等。

add是把新建的文件添加到临时缓存区,需commit操作后才能真正上传到服务器。

扩展资料

Subversion 是如何工作的以及用到的术语做一个大致了解:

版本库

Subversion 使用集中的数据库,它包含了所有的版本控制文件及其完整历史。这个数据库就是版本库。版本库通常位于运行 Subversion 服务器的文件服务器上,向 Subversion 客户端(例如TortoiseSVN)提供需要的数据。

如果只备份一个东西,请备份版本库,因为它是数据的主副本。

工作副本

这是实际工作的地方。每一个开发者在自己的电脑上都有属于自己的工作副本,有时可以将其理解为沙箱。可以将最新的版本从版本库上取下来,在本地的副本上工作而不影响其他人,如果对更改满意就可以将其提交到版本库中。

Subversion 工作副本不包含项目的历史, 但是它保存了修改前的本件的副本,就像这些文件在版本库中的状态一样。这意味着可以轻而易举的准确检查出都做了哪些改动。

还要知道从哪里开始运行 TortoiseSVN,因为在开始菜单中看不到。这是因为 TortoiseSVN 是一个外壳扩展,所以第一步,打开 Windows 资源管理器。在资源管理器中用右键单击一个文件夹,然后就会发现在右键菜单中出现一些新的条目。

参考技术A

有以下区别:

1、定义不同

update是把服务器上最新的版本更新下来,比如别人上传的版本(一般提交之前需先更新,否则别人上传的新版本你没有更新下来就会被覆盖,别人上传的就丢失了)。

commit是将本地做过的改动(修改、新增、删除、改名、移动等)上传到SVN服务器。

add是把新创建的文件添加到缓存区(执行后显示一个加号),需commit提交才能真正上传到服务器(显示对号)。

2、使用方法不同

更新(Update)档案或目录 :在您要由repository更新至working copy的档案或是目录的icon上面按下鼠标右键。选择SVN Update即可。

新增(Add)档案或目录 :在尚不属于repository的档案或目录的icon上按下鼠标右键。选择TortoiseSVN->Add, 选取要新增的档案即可。 

提交(Commit)修改过的档案或目录 :在修改过的档案,或是在整个目录的空白处按下鼠标右键。
勾选真正要提交至Repository的档案或目录。

扩展资料:

在 SVN工作目录下,对于文件修改,完成后只需要commit就ok了,但对于新增文件,或者从其它目录复制进来的文件或文件夹,需要在commit之前需要做一步add操作;

即将文件或文件夹添加到svn工作目录中来,否则SVN客户端不认它。右键commit即可,commit之后,在浏览器上输入你的应用地址就能访问了。

参考资料来源:百度百科-TortoiseSVN

参考技术B

1、功能

add 功能:

向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。

简单的说就是将一新文件加入svn,添加再提交后该文件就进入subversion版本中去了;

在开发中,如果创建了新的文件或目录,那么你需要先把它们纳入版本控制中。选中那个文件或目录并使用TortoiseSVN > Add… 即可。

commit 功能:

SVN的提交是将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作。

开发项目时,你会在工作拷贝中修改项目的代码,你总要把修改之后做过的改动又存回到项目仓库中去。这个过程称为“提交”。

提交是将对工作拷贝所作的所有改动发送并存储到中央项目仓库中。

2、概念

update :

是从SVN服务器上把最新版本下载到本地来;

commit:

是将本地做过的改动(修改、新增、删除、改名、移动等)上传更新到SVN服务器;

add :

是将本地新增文件或文件夹标注为受SVN控制,但还未上传到服务器,一般后面还会跟一个commit操作。

3、操作

add:

是把新创建的文件添加到缓存区,需commit提交才能真正上传到服务器。

update:

是把服务器上最新的版本更新下来,比如别人上传的版本(一般提交之前需先更新,否则别人上传的新版本你没有更新下来就会被覆盖,别人上传的就丢失了)

commit:

一旦修改到一个断落或完成时(若是在程式开发的情况下, 通常都是在至少可以顺利compile 过时)需要下commit 这个指令, 将我本地端的修改送回档案库。

而在每次commit 的时候, 可以顺便附带一个讯息, 表示这次commit 时修正了什么地方, 以方便之后在找寻的时候, 除了透过时间及作者外, 还能有一些其他的资讯。

参考资料:百度百科——TortoiseSVN

参考技术C update是从SVN服务器上把最新版本下载到本地来;
commit是将本地做过的改动(修改、新增、删除、改名、移动等)上传到SVN服务器;
add是将本地新增的文件或文件夹标注为受SVN控制,但还未上传到服服务器,一般后面会跟一个commit操作。

你可以看我的百度文库,其中有篇windows环境下SVN使用的PPT,讲的就是tortoisesvn的使用本回答被提问者采纳

以上是关于TortoiseSVN中SVN update、SVN commit、add的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在一台服务器上搭建多个项目的SVN

TortoiseSVN的使用

svn自动更新服务器最新代码

TortoiseSVN使用步骤和trunk,Branch,Tag详细说明

win下svn常用操作笔记

TortoiseSVN 分支创建与合并