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

2021-08-27 10:12:41 字數 3453 閱讀 9297

很多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/userinte***cestate.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/userinte***cestate.xcuserstate (83%)

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

helloworld

├── helloworld

│   ├── 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

│           └── userinte***cestate.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

│   ├── [email protected]

│   ├── default.png

│   ├── [email protected]

│   ├── 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 [email protected]

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

問題1,如何在xcode中建立**庫,並新增和提交**到**庫?

問題2,如何在xcode中提交推送給遠端伺服器**庫?

問題3,如何在xcode中轉殖遠端伺服器**庫到本地?

問題4,如何使用xcode獲取遠端**庫資料,並解決衝突問題?

iOS開發Runtime那些事

objective c中的runtime是經常被問到的乙個問題,幾乎是面試大公司必問的乙個問題。當然還有一些其他問題也幾乎必問,例 如 runloop,block,記憶體管理等。本篇文章主要介紹runtime。runtime簡稱執行時。就是系統在執行的時候的一些機制,其中最主要的是訊息機制。對於c語...

iOS開發那些事 如何編譯iOS程式

我們從編寫到發布應用會經歷3個階段 模擬器上執行除錯 裝置上執行除錯和發布編譯,蘋果為了防止非法裝置和非開發人員除錯和發布應用,使用配置概要檔案 provisioningprofiles 控制在裝置上執行除錯和發布編譯階段,配置概要檔案分為兩種 開發配置概要檔案和發布配置概要檔案 1 建立發布配置概...

iOS開發那些事 如何編譯iOS程式

我們從編寫到發布應用會經歷3個階段 模擬器上執行除錯 裝置上執行除錯和發布編譯,蘋果為了防止非法裝置和非開發人員除錯和發布應用,使用配置概要檔案 provisioning profiles 控制在裝置上執行除錯和發布編譯階段,配置概要檔案分為兩種 開發配置概要檔案和發布配置概要檔案 1 建立發布配置...