目前我们正在从公司的SVN转到GIT。
我们需要在接下来的几个月内使这两个存储库保持一致, 我需要一个命令或其他方式来承诺我的SVN和GIT工作。
我有这样的方式吗?
答案 0 :(得分:0)
是的,确实如此。使用git svn
- 它允许git和SVN之间的双向操作。
您使用git commit
提交git,然后使用git svn dcommit将提交推送到SVN。
如果要将提交从本地git repo推送到某些遥控器首先运行dcommit
,因为dcommit
向SVN发送提交,创建SVN修订版,然后在git中重新提交git以使git与SVN同步。
当其他人向SVN添加新提交时,您可以使用git svn rebase
将其提取到git和rebase。
答案 1 :(得分:0)
实际上这没有多大意义,因为你通过这种方式使远程SVN repo的本地Git repo变得很有优势。但是如果你真的想这样做,那就做一个能做你想做的别名。 E. g。 git config alias.committoboth '!ctb() { git commit "$@" && git svn dcommit; }; ctb'
然后您可以执行git committoboth -m "my commit message"
之类的内容。
相反,您可能还想查看https://subgit.com/。如果您需要在更长的时间内为多个用户支持Git和SVN,那么最好在服务器上执行该工具所说的同步。
答案 2 :(得分:0)
除非您创建一个命令为您执行此操作,否则您不能在一个命令中执行此操作,因为诞生git-svn没有这样的命令。
您可以将外壳脚本文件创建为git_svn
,以将工作流程所需的所有命令分组。并将此shell脚本添加到您的系统路径:
#!/bin/sh
git commit -m "$1"
git push origin
git svn dcommit --rmdir
要使用它,只需执行以下操作即可
:$ git_svn "my commit message"
参考文献: