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_Git Svn - Fatal编程技术网

SVN提交/更新存储库

SVN提交/更新存储库,svn,git-svn,Svn,Git Svn,我只是想知道一些事情,我正在和其他几个程序员一起做一个项目,我们都使用SVN进行项目,我将SVN树下载到我的本地计算机上,每当我更新一些东西时,我都会提交它,到目前为止,一切都很好 如果: 我正在处理我的本地版本,更新XXX.cpp(version1)中的内容,而其他人上载XXX.cpp的version2,然后我上载我的版本,我的“旧”版本会覆盖新版本吗 谢谢,第二个提交具有相同版本的相同文件的人将收到“SVN冲突”错误,这将由他们来解决。请参见此示例:第二个提交具有相同版本的相同文件的人将收到

我只是想知道一些事情,我正在和其他几个程序员一起做一个项目,我们都使用SVN进行项目,我将SVN树下载到我的本地计算机上,每当我更新一些东西时,我都会提交它,到目前为止,一切都很好

如果:

  • 我正在处理我的本地版本,更新XXX.cpp(version1)中的内容,而其他人上载XXX.cpp的version2,然后我上载我的版本,我的“旧”版本会覆盖新版本吗

  • 谢谢,

    第二个提交具有相同版本的相同文件的人将收到“SVN冲突”错误,这将由他们来解决。请参见此示例:

    第二个提交具有相同版本的相同文件的人将收到“SVN冲突”错误,由他们自行解决。参见示例:

    我认为SVN将检测到当前文件与您使用的基本版本不匹配,并要求您进行手动合并。

    我认为SVN将检测到当前文件与您使用的基本版本不匹配,并要求您进行手动合并。

    SVN将尽最大努力合并这两个更改开发商已经做出了巨大的贡献。如果您在文件的不同部分工作,它很可能会毫无问题地处理这个问题。如果两个开发人员都在更改文件的相同行,或者由于任何原因合并比SVN能够处理的更复杂,它会将文件标记为冲突,并在您尝试更新本地更改时要求您手动合并冲突(使用diff工具)


    基本上,当您尝试提交SVN时,它会告诉您有更新的更改,您应该首先更新。更新时,它将在本地计算机上执行合并。冲突的文件需要先修复,然后才能提交。一旦它们被修复并合并所有更改,您就可以提交。

    SVN将尽最大努力合并两个开发人员所做的更改。如果您在文件的不同部分工作,它很可能会毫无问题地处理这个问题。如果两个开发人员都在更改文件的相同行,或者由于任何原因合并比SVN能够处理的更复杂,它会将文件标记为冲突,并在您尝试更新本地更改时要求您手动合并冲突(使用diff工具)


    基本上,当您尝试提交SVN时,它会告诉您有更新的更改,您应该首先更新。更新时,它将在本地计算机上执行合并。冲突的文件需要先修复,然后才能提交。一旦它们被修复并合并所有更改,您就可以提交。

    它不会覆盖它,但您修改的版本将成为最新版本。您需要将工作副本中的更改合并到上一版本中


    如果您使用的是不同的逻辑单元,并且对相同的代码库进行了更改,我建议您对任务进行分支,并在完成后将任务从分支合并到主干。

    它不会覆盖它,但您修改的版本将成为最新版本。您需要将工作副本中的更改合并到上一版本中


    如果您正在处理对同一代码库进行更改的独立逻辑单元,我建议您对任务进行分支,并在完成后从分支合并到主干。

    大多数时候,SVN都会尝试合并更改。如果这是不可能的,它会给你一个消息,你的提交失败,你需要更新您的签出,然后再尝试提交

    新的更新可能会给您带来需要解决的冲突。
    不过,它永远不会覆盖以前的更改。

    大多数情况下,SVN都会尝试合并这些更改。如果这是不可能的,它会给你一个消息,你的提交失败,你需要更新您的签出,然后再尝试提交

    新的更新可能会给您带来需要解决的冲突。
    但是,它永远不会覆盖以前的更改。

    建议在执行提交之前始终更新。

    建议在执行提交之前始终更新。

    这是版本控制软件的要点之一,这就是将发生的情况:

    • 有人签入文件
      A
    • 其他人试图签入文件
      A
    • SVN将尝试自动合并该文件
      • 如果一切都好,就煮一杯咖啡
      • 哦,检测到冲突(需要人工干预)
        • 更改由提交人手动检查和确认
    最后一部分是事情变得棘手的地方——没有人愿意这样做


    此外,SVN有时有一个可怕的习惯,当它合并时,它会自行损坏您的源文件,用
    污染代码。这是版本控制软件的要点之一,这就是将会发生的情况:

    • 有人签入文件
      A
    • 其他人试图签入文件
      A
    • SVN将尝试自动合并该文件
      • 如果一切都好,就煮一杯咖啡
      • 哦,检测到冲突(需要人工干预)
        • 更改由提交人手动检查和确认
    最后一部分是事情变得棘手的地方——没有人愿意这样做


    此外,SVN有时有一个可怕的习惯,即在合并时会自行损坏源文件,污染代码,实际上第二个开发人员在提交之前不知道文件是否被其他人修改过。一旦他提交,它将发出版本冲突警告(因为他所修改的文件版本已被其他人修改)。

    然后您可以解决冲突,但我认为每个开发人员都应该在每次提交之前执行SVN-UPATE,这样您就可以克服任何不必要的情况。

    实际上,第二个开发人员在提交之前不知道文件是否被其他人修改过。他一做出承诺,我就