Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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
Php SVN协作失败_Php_Svn_Version Control_Versions - Fatal编程技术网

Php SVN协作失败

Php SVN协作失败,php,svn,version-control,versions,Php,Svn,Version Control,Versions,今天是我和SVN玩的第一天。 但有一种情况我无法解决: 我在2台电脑上结账 第一台pc的pc更改文件中的某些内容并提交。 然后,第二台pc尝试提交: Commit failed (details follow): File '/classes/ghjs.html' is out of date 我必须在第二台pc上运行更新,它从pc 1获取新文件,然后我可以再次正确提交,但是更新之前所做的更改将丢失 如果在编写一行代码之前必须提交/更新SVN,那么SVN就不是那么棒了,否则其他处理同一文件的人

今天是我和SVN玩的第一天。 但有一种情况我无法解决:

我在2台电脑上结账 第一台pc的pc更改文件中的某些内容并提交。 然后,第二台pc尝试提交:

Commit failed (details follow):
File '/classes/ghjs.html' is out of date
我必须在第二台pc上运行更新,它从pc 1获取新文件,然后我可以再次正确提交,但是更新之前所做的更改将丢失

如果在编写一行代码之前必须提交/更新SVN,那么SVN就不是那么棒了,否则其他处理同一文件的人就没有你的最新版本

我知道没有“实时”协作的想法,但是如果您使用的是旧版本,而不是更新,那么您可以手动将更改“移植”到最新版本

我使用“版本”作为svn客户端,使用textwrangler作为编辑php代码的编辑器

我必须在第二台电脑上运行更新, 它从pc 1获取新文件,然后我 但是,可以再次正确提交 更新前所做的更改将丢失

不,他们没有迷路。它们被合并到本地副本中(正如您所期望的那样),更新后,您可以提交将它们添加到存储库中。如果合并导致冲突,将通知您,但不会丢失任何工作


如果您在更新后丢失了更改,那么您做错了什么——我对版本一点也不熟悉,所以我不能说。

对pc 2上文件的本地更改不应该在
svn更新中丢失。它们将与在pc1上所做的更改合并并提交。如果对冲突中的相同行进行了更改,则在冲突解决之前,您将无法提交,并选择保留对任一文件版本的更改。更新后不应丢失本地更改。

然后在PC 2上“更新”,它应将PC 1的更改合并到PC 2的工作副本中。如果该文件是在PC 2上编辑的,那么它应该干净地合并它们,或者给出合并冲突,您可以手动解决它们

这样做是为了让SVN有地方合并这两个更改。合并是在工作副本中完成的,而不是在服务器上


如果您在更新时丢失了对PC2的更改,并且没有显示合并错误,那么这确实可能是个问题。

您应该使用Subversion命令行客户端尝试上述所有操作,并查看会发生什么情况。(更改将自动合并,或者文件将保留在PC 1上的工作目录中发生冲突。)可能是版本不正常或您使用不正确。谢谢。你完全正确。有用链接:有用菜单/按钮:操作>标记为已解决