2016-05-26 12 views
1

gitとsvnの間に問題があります。
プロジェクトのインターンではgitをリポジトリとして使用します。
しかし、私たちの顧客はリポジトリとしてsvnを使用しています。gitからOrdnerをクローンし、同じordnerの変更をgitにコミットします

私たちは定期的にお客様のためにリリースしています。顧客svnに4つのモジュール(実際には4つのOrdner)をコミットする必要があります。
4人のordnerはgitとsvnで同じ構造になっています。

私の質問:私たちのgitからこれらのordnerをクローンして、基本的にsvnにコミットできますか?はいの場合、どうすればいいですか?

gitコマンドにGit-SVNがあると聞きました。このツールを使用できますか?

答えて

0

gitコマンドにはgit svnが含まれています。このツールを使用できますか?

あなたのgit repoがsvnから作成されていれば、あなたは持っている可能性があります。

しかし、これは独立したレポであるため、最も簡単な方法は、あなたの指導員をsvnリポジトリの適切な場所にコピーすることです(ファイルシステムコピーのみ)。svn commit:gitの履歴はインポートされません。クライアントの視点、それで十分かもしれません。

お客様が、バグフィックスのコードを変更することがあります。その後、変更されたコードを私のgitフォルダにコピーしてgitにプッシュする必要があります。私のローカルgitフォルダとsvnフォルダの間のこのコピーイベントは面倒で、エラーソースかもしれないと思います。

cd /path/to/git/repo/myordner 
git checkout -b import 
git --work-tree=/path/to/updated/svn/repo/ordner add . 

ordnersはgitのとSVNで同じ構造を持っているので、から - オドナーを追加するためにgitのを頼む:クライアントのSVNのレポにごordnersをコピーする前に、あなたがする必要があることを意味

svn repo(ブランチインポートではgitを単純な作業ツリーと見なします)をインポートし、そのインポートブランチをメインのものにマージします。
コピーは必要ありません。 gitはインポートを管理します。

インポートが完了したら、前述のようにsvn repoにエクスポートできます。

+0

カスタマーによっては、バグフィックスのコードが変更されることがあります。その後、変更されたコードを私のgitフォルダにコピーしてgitにプッシュする必要があります。私のローカルgitフォルダとsvnフォルダの間のこのコピーイベントは面倒で、エラーソースになる可能性があります。したがって、私はこのコピーイベントを避けたいです。私は両方のrepostoriesのためのローカルフォルダを作ろうとします。 gitでいくつかの変更があれば、私はgitからチェックアウトし、svnにコミットできます。 svnでいくつかの変更は、私はsvnからチェックアウトし、gitにプッシュすることができます。私の最初の質問は、それがローカルコピーなしで可能かどうかです。 –

+0

@ JiaMu予備のインポートフェーズを含むように私の答えを編集しました。 – VonC

関連する問題