3

Mac OS X Leopard10.5.5マシンのDjangoSubversionトランクをチェックアウトし、必要に応じて更新したいと思います。

MacでDjangoコードを更新したことにのみ興味があります。Djangoプロジェクトにパッチを提供することに興味はありません。DjangoトランクのSubversion履歴は必要ありません。

私はすべての個人プロジェクトのDVCS/SCMとしてGitを使用する予定です。


Macを最新のDjangoトランクで最新の状態に保つためのベストプラクティスとその理由は何ですか?

私はGitを初めて使用するので、オプションを選択した理由を理解することは非常に役立ちます。

  1. MacにインストールされているSubversion1.4.4を使用します:svncohttp: //code.djangoproject.com/svn/django/trunk/。基本的にSubversionを使用して、個人的なプロジェクトのSubversionリポジトリとGitをフェッチします。

  2. Git SVNを使用して、DjangoSubversionリポジトリをフェッチします。Git初心者のためにこれを行う方法の説明?

  3. Gitを使用して、DjangoリポジトリのGitミラーをフェッチします。将来的にミラーがなくなるのではないかと少し心配ですが、それが最善の選択肢であれば、喜んで使用します。

4

4 に答える 4

11

Djangoコードに変更を加える予定がない場合は、Gitにインポートする理由はありません。オプション1を使用してください。

git-svnSubversionを使用するプロジェクトにローカルな変更を加える場合(プロジェクトにそれらの変更を送り返すかどうかに関係なく)、使用する(自分で実行するか、他の誰かのリポジトリのクローンを作成する)と便利です。ただし、ローカルで変更を加えていない場合は、不必要な複雑さです。

于 2008-10-29T21:15:36.303 に答える
2

さて、すべてのプロジェクトでgitを使用していて、それにかなり精通している場合は、gitミラーを使用することをお勧めします。これは、かなり最新の状態になっているためです。Gitは、Subversionを使用するよりも高速である必要があります。ミラーが消えたり古くなったりした場合は、いつでもsvn co /svnupを実行して現在のソースを取得できます。

しかし、Subversionもインストールされているので、代わりにそれを使用することもできます...大きな違いはなく、個人的な好みの問題です。

Git-svnは、セットアップと同期の維持に少し面倒です。最初にgit svn fetchを使用してSubversionの更新をフェッチし、次にgitsvnrebaseを実行して変更をgitリポジトリに適用する必要があります。また、より多くのディスクスペースを消費します。これはややエラーが発生しやすいので、実際にソースツリーで開発を行いたい場合にのみgit-svnを使用することをお勧めします。冒険心があり、試してみたい場合は、このチュートリアルをご覧ください。git-svnを使用するのは非常に便利です。

于 2008-10-29T22:25:03.447 に答える
1

決して遅くなるよりはましだ..多分..私は現在の勝利の答えに反対しなければならない。私は一緒に行きます

  1. Gitを使用してDjangoリポジトリのGitミラーをフェッチします

それに対する議論について:Gitに慣れている(またはなりたい)人は、Gitを「不必要な複雑さ」と見なすべきではありません。注:この引数は、一部の人(私ではない)のgit-svnの場合に有効である可能性があります。

それのいくつかの理由:

  • 速度

  • 強力なクエリ(ログ)と視覚化(gitk、さらにはより洗練されたいとこ)

  • ほとんどの場合、ディスク容量が少なくなります

  • 二等分-例えば。リグレッションを分離しようとし、より良いバグレポートを支援します

  • 一貫性-他のすべてのプロジェクトがgitにある場合

  • まだ貢献する予定がない場合でも、ローカルの変更を簡単に試すことができます

  • 気が変わった場合でも、貢献に一歩近づくことができます

そのミラーがなくなった場合でも、別のミラーに切り替えることができ、再度クローンを作成する必要はありません。

ところで、現在のミラーはhttps://github.com/django/djangoにあり、公式と言われています。

于 2012-02-21T19:16:04.503 に答える
0

@cjmに同意します。Django ソースのコピーだけが必要な場合は、プレーンな Subversion を使用してください。

git-svn に関する私の経験では、Subversion リポジトリを追跡する必要がある Git を好み、Git に精通している人々にとって最も有用であり、Subversion を知っているがより良いものを望んでいる git 初心者にとってはあまり役に立ちません。転覆。git-svn には、Subversion のマージ トラッキングが劣っているという事実に起因するいくつかの制限があり、かなりの git の経験がない限り、これらの制限が跳ね上がり、時々あなたを悩ませます。

于 2008-10-29T21:24:47.343 に答える