iOS開發那些事-Git在Xcode中的配置與使用

智捷關東昇發表於2013-03-20

很多Git命令都是在命令列下執行的,命令列下管理Git有很多優點不用多說。但最大的缺點是要求使用者記住這些命令。因此Git圖形介面還是很受一些使用者歡迎的,其中Xcode作為整合開發環境工具,也提供了一定Git圖形介面功能。但是要想在Xcode中使用Git管理工程程式碼還想需要進行一些配置,然後才能使用。

如果我們是使用Xcode 4建立的一個iOS工程,在終端的命令列中提交程式碼時候,可能會出現下面的部分資訊:

create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata

create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate

create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/HelloWorld.xcscheme

create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/xcschememanagement.plist

rewrite HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate (83%)

事實上是能夠列入到程式碼版本控制的檔案是有規定的,不能是編寫的二進位制檔案、臨時檔案和使用者特有的檔案等。下面是Xcode 4建立的HelloWorld工程的目錄結果:

HelloWorld

├── HelloWorld

│ ├── AppDelegate.h

│ ├── AppDelegate.m

│ ├── HelloWorld-Info.plist

│ ├── HelloWorld-Prefix.pch

│ ├── ViewController.h

│ ├── ViewController.m

│ ├── en.lproj

│ │ ├── InfoPlist.strings

│ │ └── ViewController.xib

│ └── main.m

└── HelloWorld.xcodeproj

├── project.pbxproj

├── project.xcworkspace

│ ├── contents.xcworkspacedata

│ └── xcuserdata

│ └── tonyguan.xcuserdatad

│ └── UserInterfaceState.xcuserstate

└── xcuserdata

└── tonyguan.xcuserdatad

├── xcdebugger

│ └── Breakpoints.xcbkptlist

└── xcschemes

├── HelloWorld.xcscheme

└── xcschememanagement.plist

其中HelloWorld.xcodeproj屬於包檔案,它內部的很多東西是不能提交的,包括:project.xcworkspace和xcuserdata,它們是與使用者有關的。Git中有一個.gitignore配置檔案,在這個檔案中可以設定被忽略的檔案。下面的內容是一個.gitignore配置檔案:

Exclude the build directory

build/*

Exclude temp nibs and swap files

*~.nib

*.swp Exclude OS X folder attributes

.DS_Store

Exclude user-specific XCode 3 and 4 files

*.mode1

*.mode1v3

*.mode2v3

*.perspective

*.perspectivev3

*.pbxuser

*.xcworkspace

xcuserdata

檔案中#號是註釋,可以使用正規表示式,檔案考慮到了X code 3和4差別。這個檔案建立之後,應該放在什麼地方?如果只考慮對一個特定工程忽略,.gitignore檔案應該放在程式碼庫目錄下面,目錄結構如下所示:

<程式碼庫目錄>

└── HelloWorld

├── HelloWorld

│ ├── AppDelegate.h

│ ├── AppDelegate.m

│ ├── Default-568h@2x.png

│ ├── Default.png

│ ├── Default@2x.png

│ ├── ViewController.h

│ ├── ViewController.m

│ ├── HelloWorld-Info.plist

│ ├── HelloWorld-Prefix.pch

│ ├── en.lproj

│ │ ├── InfoPlist.strings

│ │ └── MainStoryboard.storyboard

│ └── main.m

└── HelloWorld.xcodeproj

└── .gitignore

如果考慮適用於所有的Xcode工程,則需要使用git config命令配置git,在終端中執行git config命令:

$ git config –global core.excludesfile ~/.gitignore

該命令會將配置資訊寫入到~/.gitconfig檔案中,–global引數是配置全域性資訊,~/.gitignore說明檔案是放置於當前使用者目錄下。

為了使本機上的所有程式碼庫都預設使用git使用者,還需要執行如下命令進行配置:

$ git config –global user.name git

$ git config –global user.email eorient@sina.com

在Xcode中使用git還會遇到很多問題,老關總結常見的4個問題,明天和大家分享一下,得幹活去了

問題1,如何在Xcode中建立程式碼庫,並新增和提交程式碼到程式碼庫?

問題2,如何在Xcode中提交推送給遠端伺服器程式碼庫?

問題3,如何在Xcode中克隆遠端伺服器程式碼庫到本地?

問題4,如何使用Xcode獲取遠端程式碼庫資料,並解決衝突問題?

相關文章