2011-06-22 8 views
0

私はSCMの初心者ですが、私はバージョン管理のためにいくつかの基本的なことが必要です。GitでXCode 4を自動バージョンする方法は?

私はXcodeでGitリポジトリを使用しています4.

質問は以下のとおりです。

私は自動的に私がローカルGitリポジトリにコミットするとき、私のプロジェクト(例えば1.1.2など)バージョン管理番号を与えることができますどのように

Gitのバージョン番号は、自分のアプリリリース番号に関連付けられていますか?つまり、作業コピーのバージョンがGitで1.2.3であれば、info.plistのバージョンも1.2.3に変更されますか?

ありがとうございました

答えて

5

Gitのバージョン管理はアプリのリリース番号に関連するものではありません。実際には "Gitのバージョン1.2.3"というものはありません。 Gitのコミットは、SHAハッシュ、ブランチ名、またはタグ名のいずれかによって参照されます。

バージョン番号を扱うほとんどの人は、gitタグを使用して、その製品の最終リリースバージョンをその1つで識別します。したがって、あなたの最後の修正をテストブランチにコミットし、クリーンでテストし、プロダクションブランチにマージし、そのコミットに次のバージョン番号でタグ付けします。

タグアクションをXcodeでプロジェクトのバージョン番号を更新する方法がありますが、それはそのままで、何のためのguiインターフェイスもありません。 gitリポジトリにカスタムフックを書く必要があります。

また、gitへのXcode4のインターフェイスを使用している場合、実際にgitをどのように使用するのかは実際にはありません。 Gitは、Xcodeがあなたに小さな(そして間違った方向の)インターフェースを提供する素晴らしいツールです。それを学ぶ価値があります。私はgitのXcodeインターフェイスにはとても失望しています。私はもはやそれを使用しません。私はXcodeで作業を行い、コマンドラインでリポジトリを管理します。

+0

おかげで、非常に明確に答えた:

この

は私のRUNSCRIPTです。 –

1

私のバンドルIDでSVNのバージョン番号を使用していましたが、gitに移動しました。 gitコミットチェックサムの代わりに、私は今バージョン番号としてログ行数を使用します。

REV=`git log --pretty=format:'' | wc -l | sed 's/\ //g'` 
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $REV" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" 
関連する問題