Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN-如果我们一次提交一个巨大的文件列表而不是多次提交,那么我们有什么好处?_Svn_File_Commit_Repository - Fatal编程技术网

SVN-如果我们一次提交一个巨大的文件列表而不是多次提交,那么我们有什么好处?

SVN-如果我们一次提交一个巨大的文件列表而不是多次提交,那么我们有什么好处?,svn,file,commit,repository,Svn,File,Commit,Repository,我想了解一下,如果我们一次提交一个庞大的文件列表,而不是多次提交,那么我们有什么好处?更好地保持版本号更小,更容易跟踪您的更改 **提交时请留下评论,因为您可能会忘记提交的原因更容易查看与任务相关的文件, e、 g.可以查看修改了哪些文件以执行bug#123的修复 哦,请确保在提交注释中添加bug编号,当您想及时返回查看您所更改的内容时,这会使您的生活更加轻松 例如 “嗯,我们大约在一两年前修复了这个bug,奇怪的是它被重新打开了,让我们检查一下提交历史记录我们当时做了什么” 然后你只需搜索bu

我想了解一下,如果我们一次提交一个庞大的文件列表,而不是多次提交,那么我们有什么好处?

更好地保持版本号更小,更容易跟踪您的更改


**提交时请留下评论,因为您可能会忘记提交的原因

更容易查看与任务相关的文件, e、 g.可以查看修改了哪些文件以执行bug#123的修复

哦,请确保在提交注释中添加bug编号,当您想及时返回查看您所更改的内容时,这会使您的生活更加轻松 例如 “嗯,我们大约在一两年前修复了这个bug,奇怪的是它被重新打开了,让我们检查一下提交历史记录我们当时做了什么” 然后你只需搜索bug编号,你马上就能找到它

另一种方法是:在错误跟踪系统中,添加一个注释,其中包含修复错误的提交编号,这会使生活变得更加轻松。

大小并不重要


一次提交应涵盖一个逻辑更改,该更改可能跨越多个文件,也可能不跨越多个文件。如果将多个逻辑更改合并到一个提交中,那么以后可能很难找到或恢复其中一个逻辑更改。如果将更改分离为逻辑单元为时已晚,请立即提交所有更改,希望您不会后悔。

与CVS相比,Subversion的一大优势是它能够将相关更改保留为单个更改集,而不是分散的单个文件更改集。假设您正在开发一个涉及十几个文件的新功能。现在,您被告知必须恢复更改

如果您使用像CVS这样的系统,这些更改将被视为十几个独立的更改。要把他们全部找出来可能相当困难。您可以使用时间戳,但仍然需要搜索整个存储库。您可以尝试标记您的更改,但仍然需要在整个存储库中查找该更改

在Subversion中,该更改是单个更改集。支持该变更仅仅意味着退出单个变更集

另一个优点是Subversion可以对更改集进行原子更改。想象一下,如果有20个文件都与一次修改有关。现在,想象一下,在其中一个文件中,有人在您测试更改时进行了更新。在CVS中,如果您进行了提交,则会提交其中19个文件,但不会提交最后一个

现在,您的存储库处于未经测试且可能不稳定的状态。事实上,你的软件很有可能根本无法构建。您的本能是快速地对该文件进行更新,然后运行一些粗略的测试,并提交该文件

在Subversion中,不会提交您更改的任何文件。存储库仍然处于稳定和测试状态。您不必担心存储库,可以更新该文件,并在尝试再次提交之前运行完整的回归测试


因此,在回答您的问题时,您是否应该将所有这些文件提交到一个大列表中:这取决于。将文件更改作为离散更改集提交。可能是您所做的所有这些文件更改都彼此不相关。在这种情况下,可以随意将每一个单独的更改列表。不要担心版本号太高。我从来没有理解过这个问题,因为版本号对软件的质量没有影响

然后,如果所有更改都是一个集合,请对您的更改进行一次提交。这个想法是,如果有人试图分析一个变更,那么可以快速查看所有涉及的文件。一个变更可以是一个单一的特性、一个bug编号,或者是您想要测量变更的方式。关键是要在逻辑单元中提交您的更改