这就是我想做的。可能吗
- 在 git 中有项目。很多人推,拉,合并等。正常的工作流程
- 在它的主分支中只有一个 git repo 的推送更改到 svn。
没有其他人会提交 svn repo。这只是一个方向。从 git 到 svn。它只会对 git 上的 master 进行更改并将它们添加到 svn。svn 基本上是 master 分支的 svn 版本。
我以为我能做到
git svn dcommit
一遍又一遍
..edit, push and or pull files..
git commit -a -m "foo1"
git svn dcommit
..edit, push and or pull files..
git commit -a -m "foo1"
git svn dcommit
..edit, push and or pull files..
git commit -a -m "foo1"
git svn dcommit
但这似乎不起作用。我不断收到冲突和消息,例如
$ git svn dcommit
Committing to https://my.svn.repo/svn/ ...
M README.md
Committed r18619
M README.md
r18619 = 8f00073a3f1987e97a0f0f194798b6e02e9b0345 (refs/remotes/git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
Unstaged changes after reset:
M README.md
M README.md
Committed r18620
M README.md
r18620 = 47313477c1e38959fadd43d0001ff55210637669 (refs/remotes/git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
这似乎很可疑。git status 给了我
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 2 different commits each, respectively.
#
我觉得我从根本上错过了一些东西。就像我根本不应该使用 git-svn 一样。事实上,如果我所做的只是这个
cd ~/git-folder
..edit files..
git commit -a -m "foo"
cd ~/svn-folder
cp -r ~/git-folder .
svn commit -m "foo"
它实际上会起作用,我只会丢失所有提交消息和个人提交。
有人可以指出我错过了什么