2011-06-22 33 views
0

我是SCM新手,但我只需要一些基本的東西來進行版本控制。如何使用XCode 4在Git中自動進行版本控制?

我在XCode中使用Git 4.

的問題是:

我怎麼能自動給我的項目版本號(如1.1.2),當我把它提交到本地Git倉庫?

Git的版本號是否與我的應用發佈號碼有關?例如,如果我的工作副本的版本是Git中的1.2.3,那麼我的info.plist中的版本是否也會更改爲1.2.3?

感謝

回答

5

Git的版本是不是意味着要與你的應用程序版本號。沒有任何「Git版本1.2.3」這樣的東西。 Git提交由SHA哈希,分支名稱或標記名稱引用。

大多數處理版本號的人都使用git標籤來識別其中一個產品的最終發佈版本。因此,您將最後一次修復提交給測試分支,測試乾淨,將其合併到生產分支中,並使用下一個版本號標記該提交。

有一些方法可以讓Xcode中的標籤動作更新您項目的版本號,但是沒有任何開箱即用的功能,而且我沒有知道它的GUI界面。你必須在你的git倉庫中編寫一個自定義鉤子。另外,如果你使用Xcode4的git接口,你真的沒有使用git它是如何使用的。 Git是一個令人驚訝的工具,Xcode給你一個小小的(和錯誤的)接口。值得學習它。我對Xcode接口非常失望,我甚至不再使用它。我在Xcode中完成工作,並在命令行上管理我的存儲庫。

+0

感謝,很清楚的回答。 –

1

我在我的捆綁軟件標識符中使用了SVN版本號......現在已經轉移到了git。我現在使用日誌行數作爲版本號,而不是git commit checksums。

這是我的runScript:

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