Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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
Git 断开连接的版本控制_Git_Svn_Version Control_Mercurial_Dvcs - Fatal编程技术网

Git 断开连接的版本控制

Git 断开连接的版本控制,git,svn,version-control,mercurial,dvcs,Git,Svn,Version Control,Mercurial,Dvcs,我的团队在断开连接的模式下工作。i、 e.他们开发应用程序,并在公司网络内使用SVN来管理代码的版本控制 我坐在客户办公室,无法从客户机器直接访问我公司的网络。我维护自己的SVN,在那里我每天签入从团队收到的代码并对代码进行更改 在这种运作模式下,我面临两个问题 如果我的团队删除/重命名了一些文件,我只需将从团队收到的新代码粘贴到我的工作副本上。。已删除的文件仍保留在我的工作副本中 为了避免这个问题,有一个。。我要求他们给我发补丁文件。修补程序文件的成功率较高,但它无法处理二进制文件。因此,如果

我的团队在断开连接的模式下工作。i、 e.他们开发应用程序,并在公司网络内使用SVN来管理代码的版本控制

我坐在客户办公室,无法从客户机器直接访问我公司的网络。我维护自己的SVN,在那里我每天签入从团队收到的代码并对代码进行更改

在这种运作模式下,我面临两个问题

  • 如果我的团队删除/重命名了一些文件,我只需将从团队收到的新代码粘贴到我的工作副本上。。已删除的文件仍保留在我的工作副本中
  • 为了避免这个问题,有一个。。我要求他们给我发补丁文件。修补程序文件的成功率较高,但它无法处理二进制文件。因此,如果我的团队在代码库中添加新的图像/xls模板等,我不会通过补丁文件获得它们。二,
  • 因此,我开始觉得两个断开连接的SVN存储库不是适合我的解决方案

    • 你们以前有过这种情况吗
    • 你做了什么
    • SVN有什么可以帮我的吗
    • 或者有没有其他版本控制系统可以帮助我解决这个问题
    • 如果是,您能告诉我VCS中的相关命令吗

    免费的替代方案是首选。

    如果您在不同的网络中,并且无法访问您的VCS,则只能手动修补。即使在DVCS(git或mercurial)中,您也必须在同一网络中才能从远程回购推送或拉送。因此,据我所知,在您的情况下,手动修补是唯一的解决方案


    SVN专家有何评论?

    如果您在不同的网络中,并且无法访问您的VCS,则只能手动修补。即使在DVCS(git或mercurial)中,您也必须在同一网络中才能从远程回购推送或拉送。因此,据我所知,在您的情况下,手动修补是唯一的解决方案


    SVN专家有什么意见吗?

    我自己没用过,不过你可以用Bazaar。它是一个分布式版本控制,可以使用SVN作为中央存储库


    看。

    我自己没用过,不过你也可以用Bazaar。它是一个分布式版本控制,可以使用SVN作为中央存储库


    请参阅。

    查看@elevener提到的
    bzr svn
    ,或者,对于git等价物,使用

    编辑:

    我的印象是,您有时可以访问公司网络,在那里您可以推/拉更改。如果这不是真的,那么我想手动修补是唯一的方法(因为您几乎没有访问该公司的SVN服务器的权限)


    贵公司是否通过某种方式(SSH?VPN?)提供对内部网络的访问?如果是这样,也许您可以使用SSH隧道或VPN来访问SVN服务器。

    请查看@elevener提到的
    bzr SVN
    ,或者,对于git等价物,请使用

    编辑:

    我的印象是,您有时可以访问公司网络,在那里您可以推/拉更改。如果这不是真的,那么我想手动修补是唯一的方法(因为您几乎没有访问该公司的SVN服务器的权限)


    贵公司是否通过某种方式(SSH?VPN?)提供对内部网络的访问?如果是这样,也许您可以使用SSH隧道或VPN来访问SVN服务器。

    您应该查看git SVN。其基本思想是使用本地git存储库而不是本地svn工作副本。您可以进行多个本地提交,然后在完成后,将这些本地提交推送到远程svn存储库中。它允许您在与中央svn存储库完全断开连接的情况下工作,但仍然允许您在日常工作中使用版本控制。

    您应该了解git svn。其基本思想是使用本地git存储库而不是本地svn工作副本。您可以进行多个本地提交,然后在完成后,将这些本地提交推送到远程svn存储库中。它允许您在与中央svn存储库完全断开连接的情况下工作,但仍然允许您在日常工作中使用版本控制。

    我可以将svn服务器转换为真正的DVCS(如git)。即使没有直接连接,也可以使用通过电子邮件提交的修补程序传播之间的更改(这适用于二进制文件)。见和。如果你不打算阅读补丁的话


    如果无法转换中央服务器,您仍然可以在生成他发送给您的修补程序之前,或在应用您发送给他的修补程序之后,要求SVN网络上的某人使用
    git SVN
    。(杀掉SVN当然是一个更好的长期解决方案。)

    我会将SVN服务器转换为真正的DVC,比如git。即使没有直接连接,也可以使用通过电子邮件提交的修补程序传播之间的更改(这适用于二进制文件)。见和。如果你不打算阅读补丁的话


    如果无法转换中央服务器,您仍然可以在生成他发送给您的修补程序之前,或在应用您发送给他的修补程序之后,要求SVN网络上的某人使用
    git SVN
    。(杀死SVN当然是一个更好的长期解决方案。)

    看看sneakernet传输步骤的git bundle。它应该允许您打包一组更改,以便在网络之间通过VPN进行手动传输


    我自己也一直在研究交换问题(参见我的各种SO问题),我认为这些问题可以解决,尽管您可能需要使用公司的笔记本电脑;-)

    查看sneakernet传输步骤的
    git bundle
    。它应该允许您打包一组更改,以便在网络之间通过VPN进行手动传输

    我自己一直在研究交换问题(参见我的各种SO问题),我很瘦