Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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 - Fatal编程技术网

svn中的检查点

svn中的检查点,svn,Svn,我正在对我的代码使用svn。我想问一下,是否有任何方法可以使用svn创建检查点 我在本地驱动器上签出了代码。在做了第一部分更改后,我发现一切都很好。第二部分更改后,代码被破坏。我想回到第一部分更改之后和之后完成更改之前的要点。所以现在我制作补丁文件(使用svn diff)并还原所有代码,然后对其进行补丁。我想知道是否有svn命令在第一部分更改后创建检查点,然后使用单个svn命令简单地返回此检查点。我不想在更改的第一部分之后提交更改。我认为正确的术语是。有这个正在进行的功能设计,但据我所知,它还没

我正在对我的代码使用
svn
。我想问一下,是否有任何方法可以使用
svn
创建检查点


我在本地驱动器上签出了代码。在做了第一部分更改后,我发现一切都很好。第二部分更改后,代码被破坏。我想回到第一部分更改之后和之后完成更改之前的要点。所以现在我制作补丁文件(使用
svn diff
)并还原所有代码,然后对其进行补丁。我想知道是否有
svn
命令在第一部分更改后创建检查点,然后使用单个
svn
命令简单地返回此检查点。我不想在更改的第一部分之后提交更改。

我认为正确的术语是。有这个正在进行的功能设计,但据我所知,它还没有发货

无论如何,我也在寻找这个功能,因为我的公司使用svn,我通过配置解决了这个问题。使用这种体系结构,您有一个本地git存储库,它与远程svn repo“对话”,因此您可以从git的优势(廉价的分支、隐藏等)中获益,同时在实践中仍然使用svn


您想要实现的这个“检查点”可以通过git的隐藏来实现,或者通过创建一个新的分支(git中非常简单和常见的做法)并使用提交作为您的检查点(当然这些提交不会在svn中看到-如果我做对了,这就是您想要的)

使用svn实现这一点的传统方法是:

  • 您将用作自己的沙箱(使用“svn副本”)

  • 将本地签出切换到刚创建的SVN分支(使用“SVN开关”,后跟新创建分支的URL)

  • 开始改变。无论何时您想要创建一个“检查点”,都要提交一个“svn提交”。此提交将只将更改提交到您的私有分支,因此没有其他人会看到它们(当然,除非他们有意寻找您的分支)

  • 如果在做了一些更改之后,您确定这些更改都是错误的,并且希望恢复到最近提交的检查点,则svn签出文件夹顶层的“svn--递归恢复”。会将svn签出恢复到最近提交的状态

  • 如果您想更进一步,可以通过“svn合并-rXXXX:YYYY”实现,其中XXXX和YYYY是要恢复的更改的svn修订号,YYYY是比该数字小的数字

  • 当您完成更改并对结果感到满意,并且将所有本地更改提交到分支时,您可能希望这样做,以便其他人可以看到/使用它们


  • 之后,如果愿意,您可以继续在中继中工作,或者如果愿意,您可以创建另一个专用分支,然后再次重复此过程。

    我很惊讶您在internet搜索中找不到这一点。我建议你试试看。现在有大量的支持。在我的公司,我们使用的是svn,所以到目前为止无法更改为GIT,我必须使用它SVN@MarcnB检查下面我的答案。您可以通过配置git handle svn来解决您的问题。这样,您仍在使用svn,但您有一个其他人看不到的底层git来管理您的本地更改。我将尝试此解决方案。谢谢我认为这里隐含的信息是,像git这样的分布式系统被设计为非常容易地支持这个工作流。如果你想试试这个,你可能想尝试一下,找到适合自己喜好的系统。