Git 断开连接的版本控制
我的团队在断开连接的模式下工作。i、 e.他们开发应用程序,并在公司网络内使用SVN来管理代码的版本控制 我坐在客户办公室,无法从客户机器直接访问我公司的网络。我维护自己的SVN,在那里我每天签入从团队收到的代码并对代码进行更改 在这种运作模式下,我面临两个问题Git 断开连接的版本控制,git,svn,version-control,mercurial,dvcs,Git,Svn,Version Control,Mercurial,Dvcs,我的团队在断开连接的模式下工作。i、 e.他们开发应用程序,并在公司网络内使用SVN来管理代码的版本控制 我坐在客户办公室,无法从客户机器直接访问我公司的网络。我维护自己的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问题),我很瘦