iOS 在Xcode中使用Git進行本地版本控制


1.為工程添加本地倉庫

新建工程時,在新建頁面勾選創建本地倉庫,

如果項目已經存在,則在Source Control->Create Git Repositories中創建

創建完之后,控制finder讓其顯示隱藏文件,在命令行輸入顯示隱藏文件並重啟finder,可以看到項目中多了一個.git文件夾,所有的控制信息,數據都會存貯其內,Git倉庫會管理你的程序版本以及跟蹤代碼的改變,可以將Git倉庫看做一個所有版本的數據庫。


//顯示隱藏文件

defaults write com.apple.Finder AppleShowAllFiles true 

//重啟finder

killall Finder 

//關閉顯示隱藏文件

defaults write com.apple.Finder AppleShowAllFiles false

打開 Source Control navigator,點擊展開列表,會看到Branches、Tags、Remotes三個文件,展開Branches,會看到一個分支master,點擊master,你會看到一個系統初始化時自動提交的版本(注釋為 Initial Commit)。


2.進行版本控制

Discard撤回修改的代碼

在ViewController里,我們先改變一句log的代碼試試,command+s保存后發現ViewController.m右邊有個M標記,如圖,M代表做出改變,但是還未保存到本地倉庫。

未保存到本地倉庫的代碼,可以撤回全部修改,Source Control里選擇Discard All Changes..是將所有的未保存的修改進行還原,還原之后M標記消失,修改的代碼全部重返上個版本的情況。

如果你其他文件也做了修改,但是你只想還原某一個文件下的修改時, 你也可以使用Discard changes in 'ViewController.m'只還原該文件還未提交的修改。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"添加一句log");
}

進行Commit

我們在ViewController.m中添加一個NSLog后,假如說該階段的工作完成了,需要提交下代碼,選擇Source Control-Commit或者command+option+c,調出頁面如圖


左側可以看到都有哪些文件做了修改,點擊相應的文件,可以在右側查看具體修改的代碼,兩個版本的代碼之間有個按鈕,點擊后可以選擇不提交該改變或者還原該改變。


底部可以填寫這個版本改變的描述。寫好之后,右下角Commit 1File進行提交,Git會將這個改變保存在本地倉庫中,文件的M標記消失。在Source Control navigator里點擊master分支,右側多了一條記錄,如果要查看之前的版本,在相應記錄上右擊選擇check out,check out是將相應版本代碼從本地倉庫中取出。


3.使用分支

在新添加一個功能時,我們可以進行手動備份,也可以用Git進行創建分支,新功能在分支中測試,完成后,將分支合並到master分支就行了。在master上右擊選擇Branch form 'master',新建名字為newFunc的分支,我們也可以在右側的版本記錄右擊選擇從相應的版本創建分支。


創建好后,如圖


可以看到newfunc分支跟master分支具有相同的版本歷史,如果從右側的版本歷史右鍵創建分支的話,則新分支的版本歷史是到當前版本為止。

為新分支添加一個方法,並commit修改

- (void)func{
    
}

可以看到newFunc分支有三個版本記錄,而master仍舊是兩個版本記錄,因為newfunc是current分支,所以commit提交的版本會保存在newFunc分支中,想要切換master分支則在master上右擊選擇check out,則master變為current分支,並且添加的func方法也不存了,因為func方法是在newFunc分支中創建的。


右擊newFunc,選擇merge 'newFunc' into 'master'將newFunc分支合並到主分支。可以看到master分支也有三個版本控制歷史


當新功能完成並合並分支后,newFunc分支就可以刪除了。你還可以給版本歷史和分支添加Tag標記,用來記錄分支的位置和一些版本的關鍵節點記錄。

參考博客


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com