2013年3月23日星期六

xcode 里的 git

Xcode 自動對這個資料夾做了 git init 的動作了。我們再用
git log
來看看 Xcode 做了什麼事,會得到
commit 823888353b2d6d19426b56658b90db86f2f2ab8a
Author: chronoer
Date:   Wed Jan 2 19:17:17 2013 +0800
    Initial Commit 
Xcode 己經幫我們把 Single View Application 的檔案都加入給 git 管理並 commit 目前狀態為歷史的節點了。
接下來我們要看一下git 的狀態用
git status
會得到如下的結果

# On branch master
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
# GitPractice.xcodeproj/project.xcworkspace/
# GitPractice.xcodeproj/xcuserdata/
nothing added to commit but untracked files present (use "git add" to track)
原來 Xcode 預設沒有把這兩個資料夾加入 git 管理。那到底我們需不需要這兩個資料夾裡面的東西加入呢?當然是不需要,這些都是 Xcode 的衍生物和源始碼沒有太大的關係。好,那就這樣放著不管嗎? untracked files,如果之後有新增的 file 是想要加入 git 管理,又忘了加入,這樣就會和這兩個資料夾被列在 git status 的結果,一旦檔案多了,就會把真的想要加入和不想加入的搞混了,好像不怎麼好。git 有沒有方式可以設定,不想要 git 管理又不要出現在 untracked files 這邊的方法?有。要新增一個檔案名為 .gitignore。
所以我們新增 .gitignore 和 .git 同一個目錄下。內容如下

*.xcworkspace/
xcuserdata/
對應到上方紅色的兩個目錄。接著我們要把新增的 .gitignore 加入 git 管理然後 commit 做一個歷史記錄如下輸入
git add .gitignore
然後 commit
git commit .gitignore -m "add ignore file"
這樣一來,再做一次
git status
就會看到
# On branch master
nothing to commit (working directory clean)
這樣 git 穩定的狀態
除了這兩個資料夾,還有沒有要忽略的?有的。
那是哪些?其實我也是從 github 裡找到比較有名的幾個 project 來參考的。如下列出來給大家參考

.DS_Store
.localized
# Build directory
build/
# XCode user specific files
xcuserdata/
*.xcworkspace/
*.mode1v3
*.mode2v3
*.perspectivev3
*.pbxuser
output
可以當成一個 Xcode project 用 Git 要忽略的範本了。請加到 .gitignore 。

没有评论:

发表评论