2

理由により (必要な場合を除き) 説明はしませんが、私のプロジェクト (その同一のコピー) が配置されている場所に、Subversion と git の 2 つのリポジトリがあります。できればこのままにしておきたい。

したがって、2 つの間の一貫性を維持するために達成したいことは、自分のマシン上にプロジェクトを実行できるディレクトリをセットアップして作業し、変更をsvn と git リポジトリの両方svn checkoutにプッシュすることです。

コマンドについて何か読んだことがありますが、収集したものからは、ローカルgit svnでgit を使用し、作業を svn リポジトリにプッシュ (むしろ) する方法としてのみ機能します。それにもかかわらず、私は素朴に発行を試みました: (pwd のプロンプトを表示せず、作業コピーをチェックアウトせず、フォルダー test 内にフォルダー .git のみを作成しました): に続いて:を返しました:dcommitgit svn init <url to svn repo> -s --username <uid> testgit svn clone <url to git repo> test

svn-remote.svn.url already set: <url to svn repo>
wanted to set to: <url to git repo>

ただし、SO に関するこの投稿のおかげで、私の希望は高くなります。Git と Subversion の両方を使用する必要がある場合に Git-svn を処理する方法で、OP のワークフローがgit svn dcommitgit pushコマンドの両方で構成されているようです。私が望むことを達成する方法があれば、誰かがそれを行う方法を段階的に教えてもらえますか?

前もって感謝します。

PS この独特の構成の追加ボーナスとして、プロジェクトの特定のフォルダーを svn:ignore できるようにしたいのですが、それを git リポジトリにプッシュします (つまり、img/local フォルダーがあるため、svn にコミットしてはなりません)。無視する必要があるというルールですが、.gitignore ファイルにはそのようなエントリがないため、追加されたファイルは git リポジトリにプッシュされますが、svn リポジトリにはプッシュされないと思いますよね?)

4

1 に答える 1

1

参照する投稿には、次のような単純なブートストラップが必要です。

  • .gitsvn ローカル ワークスペースのルート ディレクトリにフォルダーを移動する
  • の出力を調べて、git status何かを追加する必要があるかどうかを確認します.gitignore

もう 1 つのオプションは、 SubGit ( GitMinutes エピソード 22で提示) のような、svn-git リポジトリの往復同期に特化した専用ツールを使用することです。
ただし、作業スペース (git 用と svn 用) は依然として別々です。

于 2013-10-24T09:08:38.627 に答える