21

私は小さなチーム (私ともう 1 人) で Mac 用のアプリケーションを開発しています。私たちはさまざまな都市に拠点を置いており、確実なソース管理管理の必要性を認識し始めています。

私たちの誰もこれについての経験がなく、Cocoa/Obj-C/Xcode については比較的新しいものです (ただし、C の知識はあります)。

どの SCM システムを選択するべきかについて、何か推奨事項はありますか? Xcode 3.1 でもサポートされている Subversion を多くの人が使用していることは理解しています。Xcode で Subversion を使用した経験のある人はいますか? または、バージョンなどのスタンドアロンの GUI 代替を選択する方が良いオプションですか?

これに関するご意見に感謝します。

グレゴール・トマセビッチ、スウェーデン

更新/個人的な経験: この記事以降、バージョンとコーナーストーン (どちらも SVN GUI クライアント) と、SVN の Xcode 組み込みサポートを試しました。Versions には、バージョン管理されていないファイル/ビルド ファイルのコミットに問題があるようで、特に満足していませんでした。Xcode のビルトイン SVN サポートは非​​常にうまく機能しますが、まだ遭遇していない制限がある可能性があります。コーナーストーンは使いやすく強力で、バージョンで発生した問題に悩まされていないようです.

これまでのところ、コミット、レポの更新、ファイルの最新/以前のバージョンのチェックアウト、およびファイル比較のいくつかの作業を試みました。分岐を広範囲に使用し始めると、まったく別の球技になる可能性があります。これは、これらの GUI クライアントの両方にいくつかの弱点がある可能性があると言われている領域です。

それだけの価値があるため (そして数日しか評価されていないため)、Cornerstone はやや優れた代替手段のようですが、より単純な SCM の場合、Xcode もうまく機能します。

すべてのコメントをありがとう。

4

10 に答える 10

20

Xcode は、Subversion、Perforce、および CVS のみをサポートします。ただし、Mercurial、Bazaar、Git などの分散バージョン管理システムもあります。これらには Mac ネイティブの GUI はありませんが、検討する必要があります。個人的には、Mercurial リポジトリでプロジェクトを管理するのが大好きです。

[2011-03-10 追加] Xcode 4 は Git のサポートを追加します。私たちの何人かは、Mercurial サポートのリクエストを提出しました。必要に応じて、あなたもそうすべきです。

于 2009-01-11T01:01:15.470 に答える
14

MacHG と呼ばれる Mac 上の Mercurial 用の優れた GUI フロントエンドがあります: http://jasonfharris.com/machg/

それは無料で、非常に素晴らしい私見です。

于 2010-07-02T13:07:29.297 に答える
6

Subversion を使えば間違いはありません。

私のように、Xcode の SVN 統合があまり気に入らない場合は、いつでもコマンドライン ツールを使用するか、Versions、CornerStone、SvnX などのいくつかの GUI アプリのいずれかを選択できます。これらのツールのほとんどは非常にうまく連携するため、最初に使用したツールに必ずしも縛られているわけではありません。

個人的にはほとんどの作業をバージョンで行っており、コマンド ライン ツールを同じ作業コピーで時々使用しています。

誰かが優れた GUI アプリを作成するまで、コマンド ライン ツールのみを使用して快適に作業できる場合は、git も非常に実行可能なオプションです。

開示:私はバージョンに取り組んでいる人の一人なので、少し偏っているかもしれません;)

于 2009-01-11T02:53:58.817 に答える
6

Xcode の Subversion サポートは非​​常に優れています。私が実行する SVN アクティビティの 90% は、Xcode から簡単に実行できます。他のいくつかのことについては、ターミナルを起動するだけです。

彼らの SVN クライアントの実装には、厄介な点がいくつかあります。

  • どのローカル ファイルが変更されたかをチェックするコードは、バックグラウンド タイマーで実行されているようで、かなり潜在的です。Xcode がファイルを変更済みとして表示するのに 5 分かかることがあります。同じことは、リモートの変更によりさらに誇張されています。
  • ソース管理下にないファイルの名前を変更または削除すると、「このファイルを SVN でも [名前変更/削除] しますか?」というダイアログが表示されることがあります。オプションは「はい」または「キャンセル」です。当然の SVN エラーが表示されるだけで、必死になって [はい] を選択します。

全体的に、私はそれをお勧めします。

于 2009-01-10T23:38:55.607 に答える
5

警告: プロジェクトをリポジトリに追加するよう XCode に最上位のディレクトリを指定するだけで、ビルド ディレクトリがリポジトリに追加されますが、これはもちろんひどいことです。

これを回避するには、ビルド ディレクトリを別の場所に移動して、XCode がインポートしようとしないようにするか、プロジェクトの個別のフォルダーを 1 つずつ手動で追加する必要があります。

于 2009-01-11T01:41:00.040 に答える
3

Subversion は従来の OS X のソース管理ソリューションであり、Leopard では Xcode と OS X でサポートされています。にもかかわらず、多くの独立した OS X 開発者が、ここ 1、2 年で Git に切り替えました。1 人の開発者として、Git は私にとって非常に優れたソリューションであることがわかりました。Github と組み合わせることで、小規模なチームの作業に最適なソリューションになります。

于 2009-01-11T01:02:54.797 に答える
2

OS X で Mercurial を使用することに興味がある場合は、SourceTree を試してみてください。無料ではありませんが、競争力のある価格であり、非常に洗練された Mac OS の感覚があります。過去数か月間、個人的なプロジェクトで使用してきましたが、直感的で適度に堅牢であることがわかりました。

Mac App Store から入手でき、Git と Mercurial をサポートしています。詳細については、 http://www.sourcetreeapp.com/にWeb サイトがあります。

于 2011-06-13T18:36:12.513 に答える
1

転覆を目指すなら、 Springloopsについて良いことを言っていると聞いたことがあります。私も同じような方法で何人かの友人と一緒にコーディングしており、Githubを使用しています。Git はとても素晴らしい経験です。シェル プロンプトの方がはるかに効率的であるため、GUI は使用しません。しかしもちろん、Xcode が Git リポジトリをサポートしていれば大歓迎です。

于 2009-01-10T22:45:25.323 に答える
0

私は使用します: https://bitbucket.org/hsivank/xcode4-with-mercurial/wiki/Home

于 2011-07-15T12:09:50.247 に答える
0

Mercurial (git と同様) は「分散」されており、おそらく svn よりも現代的で新進気鋭であると見なされています (ただし、確立されていません)。Mercurial を使用して自動チェックインする場合は、次の行を追加できます。

hg commit -m "Xcode 自動コミット"

XCode ビルドの「Run Script」ステージの一部として、次の場所にあります: Project > New Build Phase > New Run Script BUild Phase

于 2010-03-13T16:27:18.630 に答える