如何在一次提交中提交SVN和GIT?
目前,我们公司正在从SVN迁移到GIT 在接下来的几个月里,我们需要使两个存储库保持一致, 我需要有一个命令或其他方式来提交我的SVN和GIT工作如何在一次提交中提交SVN和GIT?,git,github,svn,git-svn,Git,Github,Svn,Git Svn,目前,我们公司正在从SVN迁移到GIT 在接下来的几个月里,我们需要使两个存储库保持一致, 我需要有一个命令或其他方式来提交我的SVN和GIT工作 我有这样的方法吗?是的,有。使用git svn-它允许在git和svn之间进行双向操作 您可以使用git commit提交到git,然后使用将提交推送到SVN 如果要将提交从本地git repo推送到某些远程设备,请首先运行dcommit,因为dcommit将提交发送到SVN,创建SVN修订,然后在git中重新设置提交的基址,以使git与SVN同步
我有这样的方法吗?是的,有。使用
git svn
-它允许在git和svn之间进行双向操作
您可以使用git commit
提交到git,然后使用将提交推送到SVN
如果要将提交从本地git repo推送到某些远程设备,请首先运行dcommit
,因为dcommit
将提交发送到SVN,创建SVN修订,然后在git中重新设置提交的基址,以使git与SVN同步
当其他人向SVN添加新的提交时,您可以将它们提取到git中,并使用git-SVN-rebase重新设置基址。使用
git svn
-它允许在git和svn之间进行双向操作
您可以使用git commit
提交到git,然后使用将提交推送到SVN
如果要将提交从本地git repo推送到某些远程设备,请首先运行dcommit
,因为dcommit
将提交发送到SVN,创建SVN修订,然后在git中重新设置提交的基址,以使git与SVN同步
当其他人向SVN添加新的提交时,您可以使用
git SVN rebase
将它们提取到git并重新设置基址,实际上这并没有多大意义,因为这样可以使远程SVN repo void的本地git repo具有许多优势。但是如果你真的想这么做,只需要做一个你想要的别名。例如<代码>git config alias.committooth'!ctb(){git commit“$@”和&git svn dcommit;};ctb'然后您可以执行类似于git committoboth-m“我的提交消息”的操作
相反,您可能还想看看。如果您需要在较长时间内为多个用户支持Git和SVN,那么最好在服务器上执行该工具所说的同步。事实上,这没有多大意义,因为这样可以避免本地Git repo和远程SVN repo的许多优势。但是如果你真的想这么做,只需要做一个你想要的别名。例如<代码>git config alias.committooth'!ctb(){git commit“$@”和&git svn dcommit;};ctb'然后您可以执行类似于git committoboth-m“我的提交消息”的操作
相反,您可能还想看看。如果您需要在较长时间内为多个用户支持Git和SVN,那么最好在服务器上执行该工具所说的同步。除非您创建一个命令来为您执行同步,否则无法在一个命令中执行同步,因为nativity Git SVN没有这样的命令 您可以创建一个shell脚本文件,名为
git\u svn
,它对工作流所需的所有命令进行分组。并将此shell脚本添加到系统路径:
#!/bin/sh
git commit -m "$1"
git push origin
git svn dcommit --rmdir
要使用它,您只需执行以下操作:
$ git_svn "my commit message"
参考资料:
除非为您创建一个命令,否则您无法在一个命令中执行此操作,因为nativity git svn没有这样的命令 您可以创建一个shell脚本文件,名为
git\u svn
,它对工作流所需的所有命令进行分组。并将此shell脚本添加到系统路径:
#!/bin/sh
git commit -m "$1"
git push origin
git svn dcommit --rmdir
要使用它,您只需执行以下操作:
$ git_svn "my commit message"
参考资料:
你所说的一次提交是什么意思?你是说svn的git镜像吗?我的意思是,我不想通过使用两个或多个命令来实现它,只是每次提交svn都使用一个命令。你说的
one commit
是什么意思?你是说svn的git mirror吗?我的意思是,我不想通过使用两个或多个命令来实现它,只需在每个提交svn时使用一个命令。这个答案甚至没有尝试回答OP问题。他特别要求在Git和SVN中同时提交一个命令。虽然这个请求没有太多意义,但您的回答只是显示了正常的git svn工作流,而不是OP所追求的工作流这个答案甚至没有试图回答OP的问题。他特别要求在Git和SVN中同时提交一个命令。虽然这个请求没有太多意义,但您的回答只是显示了正常的git svn工作流,而不是OP所追求的工作流在repository中,如果希望该别名对多个存储库有效,还可以添加--global
,将配置写入用户特定的配置文件,而不是repo特定的配置文件。在repository中,如果希望该别名对多个存储库有效,您还可以添加--global
,将配置写入特定于用户的配置文件,而不是特定于repo的配置文件。