App開發流程之原始碼Git管理,app流程原始碼git
base項目已經可以編譯運行了,只不過沒有實際功能而已。繼續完善base項目前,我們需要考慮一下代碼管理的事情了。
不管是一個人開發還是一個團隊開發,對原始碼進行版本管理是必須的,任何人對代碼的的任何操作都可以被管理,理由還不夠充分麼。
以前使用過SVN,不過體驗最好的,還是Git方式。
1.本地倉庫簡單易用,可以完全脫離遠程倉庫來使用
2.所有主乾和分支都統一管理,切換自如
3.合并代碼輕鬆愉快
Xcode內建代碼Git管理,建立項目時候就提到過,當時有建議不採用,因為準備使用其他的管理工具。如果建立項目時候,使用了Xcode的git管理,可以通過下面兩種方式修改:
方式一:
1.開啟終端,輸入指令:defaults write com.apple.finder AppleShowAllFiles -bool true(false 表示不顯示隱藏類型的檔案)
2.刪除項目根目錄下的隱藏檔案.git
3.使用新的管理軟體進行git管理
方式二:
直接將根目錄下可見的檔案及檔案夾拷貝到新的根資料夾裡,即可對該根資料夾進行版本管理。
原始碼Git管理配置
管理方案:Github + SourceTree
1.前往https://github.com,註冊一個帳號
2.下載git用戶端。Github也提供了一個用戶端,直接使用帳號密碼登入來管理項目,:https://desktop.github.com/。也有用命令列來控制的朋友,我就不討論了。我由於還在使用SourceTree管理其他項目,所以這裡就繼續採用SourceTree了。
使用git方式,多半都會涉及SSH key,簡單記錄一下產生過程。
說明一下:github用戶端採用帳號密碼就可以驗證使用者的身份,進而對自己的項目進行管理。SSH key簡化了輸入帳號密碼的流程,將SSH key加入github帳號後,github授權產生該SSH key的裝置可以使用git管理工具管理github上的項目。
SSH key產生及設定過程:
1.在Finder的目前使用者根目錄下,前往(shift+command+G)檔案夾“~/.ssh”
如果存在xxxx.pub檔案,則是目標檔案,用文字編輯器開啟,將全部內容拷貝
根據如下示圖,找到github添加SSH key的位置:
如點擊登入後頁面的最右邊的icon -> settings 進入設定頁面
如選中SSH and GPG keys欄,點擊“New SSH key”按鈕,title用來描述用,key欄copy上拷貝的SSH key內容,最後點擊“Add SSH key”即可。
2.如果上述檔案不存在。開啟終端,輸入:ssh-keygen -t rsa -C “xxxx@xxxx.com”,然後斷行符號,根據提示完成操作即可。“xxxx@xxxx.com”建議為github的帳號郵箱
產生以後,按照步驟1即可。
完成上述操作以後,就可以使用SourceTree了。
到這裡,我們可以選擇在SourceTree中設定遠程賬戶,先根據base項目產生本地倉庫,然後根據本地倉庫建立遠程倉庫。也可以不設定賬戶,先在Github上建立一個倉庫名為“base”,然後使用ssh複製到本地,再將專案檔移入其中。我使用了後者。
建立倉庫
1.點擊所示右上方加號按鈕 -> new repository 出現如下頁面
說明:輸入倉庫名和可選描述,類型預設公開,如果想設定為私密類型,需要付費。在此,提供另一個git倉庫平台Gitlab(地址:https://about.gitlab.com/),可以免費建立私密倉庫,使用方式和Github類似。
還可以勾選添加一個README檔案和.gitignore檔案,前者可以使得立即複製該倉庫到本地,忽略檔案預設不顯示,記錄git倉庫不管理的檔案或者類型。license暫時就不沒有必要添加了吧。
2.建立成功以後的頁面如:
建議使用SSH驗證方式複製,點擊clone or download按鈕,複製字串:xxxxxxx/base.git
3.開啟本地已安裝好的Sourcetree,點擊“+新倉庫” -> 從url複製,出現如下介面
將copy的字串作為源URL,目標路徑和名稱會自動填寫。
我將Xcode建立的項目和SourceTree複製下來的項目放到了同一個檔案夾下,為了區別,將複製下來的根目錄重新命名為“githubbase”。
完成複製以後,將base項目複製到githubbase目錄下即可。
開啟這個本地倉庫以後,就可以看到未暫存檔案了。
關於SourceTree的使用,只記錄如下幾點:
1.勾選未暫存檔案,可以加入已暫未檔案清單,即成為待提交檔案
2.左上方“提交”按鈕,只是將修改提交到本地倉庫
3.“推送”按鈕即是提交到遠程倉庫
4.“拉取”按鈕即是同步遠程倉庫最新代碼
5.可以右鍵暫存檔案,“忽略”此檔案或者此類型,例如.xcworkspacedata
6.“分支”按鈕可以建立新的分支,具體到分支或者主幹版本,右鍵可以checkout切換當前編輯分支
7.右鍵到非編輯分支,可以合并入當前分支
8.右鍵到某個檔案,可以查看修改日誌
9.解決衝突可以使用外聯工具
10.功能表列SourceTree -> 喜好設定 ->通用,可以設定提交代碼時候的全名和電子郵件地址作為身份標識
11.就算設定了通用身份標識,也可以為每個倉庫分別設定。
右上方的設定 ->進階,可以設定當前倉庫的使用者資訊
更多詳細功能和操作就不一一記錄了。
至此,原始碼已經被管理起來。
原始碼:https://github.com/ALongWay/base