实现自定义回购周期:gitpull、modify、svn-commit



我处于不寻常的工作环境中,我无权更改它。周期如下:

  1. 从Git获取更新
  2. 在本地进行一些更改
  3. 将更改提交给svn

通常,提交给svn的更改会在稍后到达Git repo。

我一直在寻找解决方案,但没有成功。例如,我做了以下操作:

$ svn checkout <svn_url>
$ cd repo_name
$ git init
$ git remote add <git_repo>
$ echo "**/.svn" > .gitignore
$ git add *
$ git fetch
$ git merge origin/master
error: Untracked working tree file '.gitignore' would be overwritten by merge.
fatal: read-tree failed

如何处理这样的循环?

使用git-svn:

git svn clone -s <svn_url>
cd repo_name
#work#work#work
git svn rebase
git svn dcommit