2017-08-27 15 views
-1

現在私たちはSVNから私の会社のGITに移行しています。1回のコミットでSVNとGITにコミットするには?

今後数ヶ月間、両方のリポジトリを同じにする必要があります。 私はSVNとGITのために私の仕事をコミットするコマンドまたは他の方法が必要です。

私はそんな方法ですか?

+0

「1つのコミット」とはどういう意味ですか? svnのgitミラーを意味しますか? –

+0

私は、2つ以上のコマンドを使用してそれを作ってはいけないことを意味しています。ちょうどsvnへのコミットごとに1つを使用します。 – roeygol

答えて

-1

はい、そうです。 git svnを使用する - gitとSVNの間で双方向の操作が可能です。

git commitをgitにコミットし、git svn dcommitを使用してコミットをSVNにプッシュします。

dcommitは、SVNにコミットを送信SVNのリビジョンを作成し、SVNとGitのを同期させるためにはgitにコミットをリベースので、あなたつもりプッシュは、いくつかのリモコンにローカルのgitリポジトリから最初の実行dcommitを犯した場合。

他の誰かがSVNに新しいコミットを追加すると、git svn rebaseを使ってそれらをgitとrebaseにフェッチします。

+0

この回答はOP質問に答えることさえしようとしません。彼は、GitとSVNを同時にコミットするための** one **コマンドを特に求めました。このリクエストはそれほど意味がありませんが、あなたの答えは、OPの後ではない通常のgit-svnワークフローを示しています。 ;-) – Vampire

-1

実際にはこれはあまり意味がありません。リモートSVNリポジトリのローカルGitリポジトリにこのように無効にすることの多くの利点があるからです。しかし、本当にこれをやりたければ、あなたが望むことをする別名を作ってください。 E. git config alias.committoboth '!ctb() { git commit "[email protected]" && git svn dcommit; }; ctb'し、git committoboth -m "my commit message"のようなものを行うことができます。

代わりにhttps://subgit.com/をご覧になることもできます。より長い期間に複数のユーザーに対してGitとSVNをサポートする必要がある場合は、そのツールが指示するサーバー上で同期をとる方が良いかもしれません。

+0

これらのコマンドはどこで実行すればよいですか? – roeygol

+0

リポジトリ – Vampire

+0

別名を複数のリポジトリに対して有効にするには、 ' - global 'を追加してリポジトリ固有の設定ファイルではなく、ユーザ固有の設定ファイルに設定を書き込むこともできます。 – Vampire

関連する問題