43

私は自分のプロジェクト用のローカル ファイルシステム リポジトリを使用して、Windows で TortoiseSVN を何年も使用してきました。プロジェクトの 1 つで友人と共同作業を開始する予定で、リポジトリを自分の Web サイトに移す予定です。私はたくさんの「git Beats SVN!」を読みました。過去数年間の投稿を見て、少なくとも大騒ぎが何であるかを確認する必要があると考えました. いくつかの調査では、「git svn」コマンドが明らかになり、TortoiseGit はある程度の git-svn サポートがあると主張しています。SVN リポジトリを保持し、リポジトリにコミットする前に git でローカル コミットまたはブランチを実行するというアイデアが気に入っています。「shelf」コマンドも便利そうです。

残念ながら、多くの CLI git-svn チュートリアルがありますが、TortoiseGit (確かにまだ開発の初期段階にあるようです) 用のものはありません。その結果、これらの部品を連携させるために必要なワークフローを把握しようとして問題が発生しています。

D:\Projects\repositories\MyProject に SVN リポジトリがあります。D:\Projects\temp\gittest を作成し、リポジトリの TortoiseGit "Git Clone" を実行しようとしました。そこから、trunk/branches/tags フォルダー (私のリポジトリの標準的なレイアウト) の場所を示すのに問題が発生しました。それらをチェックしないままにしておくと、有用な結果しか得られませんでした. git リポジトリが正しく開始されたように見えたとき、いくつかの変更を加えていくつかの git コミットを行うことができましたが、その後 SVN DCommit を行う際に問題が発生しました。

したがって、誰かが既存の SVN リポジトリ (ローカル ファイルシステムまたはリモート サーバーのいずれかのリポジトリ) で TortoiseGit を正しく使用する方法について、かなり詳細な一連の手順を提供してくれることを願っています。いいえ、「SVN を使用しないでください!」回答をお願いします - これら 2 つの部分を連携させる方法を学びたいと思っています。TortoiseGit の SVN サポートが十分に成熟しておらず、これを機能させることができないと感じた場合、それも有益な情報です。

ありがとう!

4

8 に答える 8

27
  1. ディレクトリを作成する
  2. 右クリック、「Git Clone...」
  3. 「SVNリポジトリから」を有効にし、その他のすべての設定を選択します
于 2010-09-30T07:00:47.397 に答える
9

更新:質問に対する私の回答 (「友人との共同作業を開始する予定です...」) を支持しますが、Subversion を維持したい/維持する必要がある場合は、私の git-svn ワークフローが気に入りました。

git-svn が存在する唯一の理由は、既存の Subversion インフラストラクチャと一緒に Git を使用できるようにすることです。基本的にインフラストラクチャがないため、Git に完全に切り替えない理由はまったくありません。git-svn は svn より優れていますが、可能な限り避けるべきです。

svn を持っていたことをgit svn clone -s --no-metadata <path_to_svn>忘れてください。

于 2010-07-16T03:50:04.103 に答える
8

これはおそらく今では明らかですが、tortoisegit には git-svn のサポートが組み込まれています。

于 2012-02-17T07:08:08.830 に答える
3

それは以前に指摘されています-適切な答えとしてここに置くだけです:)

TortoiseGit には SVN のサポートが組み込まれているため、正常に動作するはずです。

于 2013-07-23T08:29:43.897 に答える
1

通常の Git クライアントとしてではなく、統合された SVN サポートなしで TortoiseGit を使用してみることができます。これを機能させるには、SubGitを SVN リポジトリにインストールします。

以下に、SubGit をセットアップする基本的な手順をいくつか示します。

$ subgit configure SVN_REPOS
# Adjust SVN_REPOS/conf/subgit.conf to specify your branches and tags
# Adjust SVN_REPOS/conf/authors.txt to specify git & svn authors mapping
$ subgit install SVN_REPOS
...
$ INSTALLATION SUCCESSFUL

インストール後、SVN_REPOS/.git に Git リポジトリがあり、通常の Git リポジトリと同じように操作できます。TortoiseGit によって実行されるたびgit pushに、受信した変更を SVN リポジトリにレプリケートする pre-receive フックと post-receive フックがトリガーされます。

詳細については、SubGit のドキュメントgit-svn の比較ページを参照してください。

バージョン 2.0 (投稿時点ではまだリリースされていません) 以降、SubGit を使用すると、異なるホストにある Subversion と Git リポジトリを同期できます。

SubGit は商用ツールですが、最大 10 人のコミッターがいるリポジトリと、オープンソースおよび学術プロジェクトでは無料です。

免責事項: 私は SubGit 開発者の 1 人です。

于 2012-10-12T15:25:50.700 に答える
1

http://msysgit.github.com/の msysgit を使用して、セキュリティ証明書やその他のコマンド プロンプト オプションを受け入れる必要がある Subversion リポジトリからプルできるようにしました。コードがプルされると、ほとんどの機能に TortoiseGit を使用できるようになりました (svn push AFAIR を除く)。

于 2012-05-09T18:46:47.770 に答える
0

svn accessをサポートする github にプロジェクトを配置できるかもしれません。したがって、TortoiseSVN を引き続き使用して、他のユーザーと共同作業を行うことができます。一方、sourceforge などを使用して、git の代わりに SVN 経由で共同作業することもできます。ところで、git svn clone URLOfTheSVNRepos を使用しないのはなぜですか。後で代わりに git commit を行います。

于 2010-04-21T11:09:51.980 に答える