これが私がやりたいことです。出来ますか
- gitにプロジェクトがあります。多くの人がプッシュ、プル、マージなどを行います。通常の IT ワークフロー
- svn へのマスター ブランチに、これらの git リポジトリのプッシュ変更が 1 つだけあります。
他の誰も svn リポジトリにコミットすることはありません。一方向のみです。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"
実際には機能しますが、すべてのコミット メッセージと個々のコミットが失われるだけです。
誰かが私が欠けているものを指摘できますか