37

私は開発プロジェクトを行っています。

会社はを使用してSVNいるので、maincommitには、checkoutを介して実行する必要がありますSVN

しかし、私は好きSVNではなく、gitユーザーです。自分のコードが良いと思ったときだけ会社にコミットするので、自分の履歴キーパーSVNに使いたいです。git

gitを使って何かをする必要はありませんしSVN、その逆もありません。

SVNとgitを同時に使用して同じコードをバージョン管理できますか?それらの間の相互作用はありません。

4

1 に答える 1

41

を使用して、Subversionリポジトリをマシンに複製できますgit svn clone <SVN repo URL>。コードはgitリポジトリとして利用できるようになります。そこで作業を行い、好きなようにローカルコミットを行うことができます。リポジトリ全体ではなく、「浅い」チェックアウトを取得するためのコマンドラインオプションがあります。これは多くの場合便利です。私はそれが何であるかを忘れています。

いつでも、と同等のを実行したい場合は、を実行しsvn updateますgit svn rebase。これにより、最後に同期した後にSVNにチェックインされた新しいコミットがフェッチされ、変更が新しいヒントにリベースされます。

コミットの準備ができたら、を実行しますgit svn dcommit。これにより、すべての新しいコミットが1つずつsvnに送信されます。また、ローカルコミットを1つにまとめて、最初にローカルリベースを実行し、次にsvndcommitを実行して送信することもできます。これは、最初のブランチで実行する必要があります(通常はmaster)。

Subversionからチェックアウトし、gitでローカルに作業しているという事実は、それらの間に「相互作用」があるため、最後のステートメントが無効であることを意味します。

于 2012-10-05T08:27:41.343 に答える