iOS開發那些事-Git在Xcode中的配置與使用
很多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獲取遠端程式碼庫資料,並解決衝突問題?
相關文章
- git與sourcetree的那些事Git
- Git 中的那些可怕的事Git
- iOS開發那些事-效能優化–autorelease的使用問題iOS優化
- Xcode中git使用XCodeGit
- iOS 開發中的 Git 流程iOSGit
- [翻譯] USING GIT IN XCODE [6] 在XCODE中使用GIT[6]GitXCode
- Git那些事兒Git
- 敏捷開發的那些事敏捷
- iOS開發之使用Git的基本使用(二)iOSGit
- iOS開發之使用Git的基本使用(一)iOSGit
- iOS開發那些事-響應記憶體警告iOS記憶體
- iOS 程式設計中 throttle 的那些事iOS程式設計
- iOS CollectionView 的那些事iOSView
- Clojure 開發那些事
- iOS開發的那些坑iOS
- iOS開發中遇到的那些坑,持續更新iOS
- iOS App 開發的那些事兒 2:如何搭建合適的框架iOSAPP框架
- ios 面試那些事iOS面試
- Git 實際開發中的使用Git
- Mediator(中介者)模式在iOS開發當中的使用模式iOS
- iOS開發- Xcode常用的快捷鍵iOSXCode
- iOS開發的那些坑(貳)iOS
- 淺談Blazor開發的那些事Blazor
- JavaScript模組化開發的那些事JavaScript
- 簡述 Ruby 與 DSL 在 iOS 開發中的運用iOS
- iOS開發Xcode中的Info.plist欄位含義iOSXCode
- 開發中經常使用到的Xcode快捷鍵XCode
- iOS 截圖的那些事兒iOS
- iOS開發者證書的那些事iOS
- web前端開發框架那些事Web前端框架
- 白話 Ruby 與 DSL 以及在 iOS 開發中的運用iOS
- 遊戲開發過程中需求變化那些事遊戲開發
- 測試在專案流程中的那些事兒
- OpenCV在iOS中的安裝與環境配置(1)OpenCViOS
- Git在專案中的那些實操(持續更新...)Git
- 開發經驗漫談 -- Git在開發流程中的運用Git
- iOS開發 - Xcode不走斷點iOSXCode斷點
- iOS開發中,whistle的安裝使用及模擬器代理配置iOS