1. 程式人生 > >Xcode中利用git原始碼版本控制

Xcode中利用git原始碼版本控制

       git是一個版本控制系統,可以通過命令列來呼叫,也有專門的桌面軟體;這裡主要介紹在Xcode中如何利用git來進行版本的控制。

一、建立git源

     從Xcode5開始引入了使用git的一些新特性,將git的各項功能整合到一個選單中,並且提供子選單來進行軟體合併的控制,當用Xcode建立一個工程時,會出現一個複選框即如圖所示:


一般預設情況下是被選上的,如果不想使用git,可以把它取消掉。當建立完專案工程後,開啟專案工程所在的資料夾,會發現一個.git子資料夾,這是在建立工程時,勾選上上面複選框後Xcode為儲存git源相關資料自動建立的。如果看不到.git子資料夾,可能是檔案被隱藏了,可以通過開啟終端,輸入命令:

defaults write com.apple.finder AppleShowAllFiles TRUE
來顯示隱藏的檔案;隱藏檔案:defaults write com.apple.finder AppleShowAllFiles FALSE

	當剛開始建立工程時不勾選上圖中複選框時,後面建立完工程後可以通過終端命令列來生成git源:
        終端開啟工程檔案:cd  /Users/YOUR-USERNAME/Desktop/NogitDemo ,同時在這條命令中設定MAC的使用者名稱,
    然後輸入:git init,初始化一個空的源,這時.git目錄已經被建立好,
    接下來輸入:git add,當前目錄的所有內容被新增到源裡去了,
    最好:git commit -m 'Initial commit',這樣git源就建立好了,Soure Control選單就可以使用了
二、提交更改
   在工程中新增程式碼,這時候會在ViewController.m檔案旁邊,添加了一個M字母,如:
     
說明那個檔案已經被修改,這時候點選Source Control>Commit選單項,彈出如下視窗:
點選Commit 1 File檔案就提交成功了,同時之前檔案右邊的M就會消失。
三、分支
    在git中預設都會有一個分支,叫做master。單獨的開發者只在master這個分支開發,這其實不是一個好習慣。無論你是單打獨鬥還是組團合作,在對專案作出重大改變或新增重大功能時,使用分支是十分重要的。
    建立一個分支,點選Source Control > GitDemo-master > New Brance…這個選單,然後會彈出如下選單:
輸入分支名newBranch,點選Create就建立好了。
       然後在這個新建立的分支裡寫入程式碼,不會影響到原來的Master分支,通過點選Source Control > GitDemo –AnotherBranch > Switch to Branch…選單項可以進行分支切換。
在分支合併前,在newBranch裡寫入的程式碼不會同步到Master分支裡去,不會影響之前穩定的版本。
四、合併分支
     首先,確保master分支是現在的活動分支。如果不是,要改過來:Source Control > GitDemo – AnotherBranch > Switch To Branch… menu,並從展示視窗選擇master分支。
     開啟Source Control > GitDemo – master > Merge From Branch…選單,進行分支的合併。當有多個開發人員合併時,要注意後面合併時會出現報錯情況,那是因為在合併時系統並不是那麼智慧的識別到了需要合併的整個模組,所以合併後可能會出現報錯的現象。
這是一個坑呀!!不知道哪位大神可有解救的辦法。。。
五、忽略更改
       放棄不想要的程式碼更改功能非常有用,當你在開發過程中發現出了大亂子,你想從上一個穩定狀態重新開始時,這個功能就派上用場啦。注意放棄更改這個功能沒有回頭路,點完之後你就沒有辦法再撤銷這個操作了。
      當你更改程式碼後,在提交(Commit)之前Discard All Changes和Discard Changes in “ViewController.m”...兩個都可以點選,
提交(Commit)之後,Discard Changes in “ViewController.m”...會變成灰色,