目前主流的版本控制系統(tǒng)有SVN和GIT,雖然國(guó)內(nèi)絕大多數(shù)公司都使用SVN來部署工程項(xiàng)目,但是與GIT相比它的劣勢(shì)還是十分明顯的:
1.SVN是集中式的,不具備本地倉(cāng)庫(kù),而只有一個(gè)共屬的遠(yuǎn)程倉(cāng)庫(kù),因此提交代碼和查看版本記錄都需要聯(lián)網(wǎng);而使用GIT在自己電腦上具有本地倉(cāng)庫(kù),我們可以無需聯(lián)網(wǎng)就提交自己的代碼和查看版本記錄
2.SVN在Commit前,最好建議先Update,確保編譯通過后再提交,否則容易出現(xiàn)版本突出問題
3.GIT的內(nèi)容存儲(chǔ)使用的是SHA-1哈希算法,更能確保代碼內(nèi)容的完整性
4.蘋果對(duì)SVN的兼容性相比GIT較差,有時(shí)候會(huì)出現(xiàn)一些莫名的錯(cuò)誤,也是它容易造成沖突的原因之一
就我了解,可以免費(fèi)托管開源代碼的遠(yuǎn)程倉(cāng)庫(kù)有g(shù)ithub和oschina,因?yàn)間ithub的服務(wù)器在國(guó)外,所以速度較慢,尤其是在我們clone的時(shí)候感覺尤為明顯,并且在github上建立私有項(xiàng)目需要付費(fèi),而這兩個(gè)問題oschina都不存在,所以下面我就位大家介紹一下如何使用oschina搭建項(xiàng)目
步驟
-
1.注冊(cè)賬號(hào)并登錄
- 官方網(wǎng)站:https://git.oschina.net/
-
2.添加 SSH 公鑰,
- 進(jìn)入終端,并輸入以下命令
進(jìn)入.ssh目錄
# 切換目錄,MAC中目錄的第一個(gè)字符如果是 `.` 表示改文件夾是隱藏文件夾
$ cd ~/.ssh
# 查看當(dāng)前目錄文件
$ ls
#如果.ssh文件夾不存在,可以執(zhí)行指令自行創(chuàng)建
$ mkdir ~/.ssh
.ssh目錄下的文件
- 生成 RSA 密鑰對(duì)
$ ssh-keygen -t rsa -C "你的郵箱@xx.com"
# 接下來連續(xù)敲回車鍵,如果電腦有開機(jī)密碼需要輸入密碼(輸入密碼是界面不會(huì)有提示,輸入完按回車就行)
最終界面會(huì)如下顯示說明成功生成公鑰
- 查看公鑰內(nèi)容
$ cat ~/.ssh/id_rsa.pub
- 拷貝公鑰內(nèi)容
- 打開 https://git.oschina.net/profile/sshkeys, 將公鑰粘貼到相應(yīng)位置
- 注意:公鑰內(nèi)容以ssh-rsa開頭,郵箱結(jié)尾, 拷貝時(shí)不能多一個(gè)空格,也不能少一個(gè)空格,格式等必須和生成的公鑰一致
- 3.測(cè)試公鑰
# 測(cè)試 SSH 連接
$ ssh -T git@git.oschina.net
# 終端提示 Welcome to Git@OSC, 電腦賬戶名!` 說明連接成功
- 4.在oschina新建項(xiàng)目
- 5.克隆項(xiàng)目到本地
#配置好sshkey之后, 以后只需要拷貝ssh鏈接地址,然后利用git指令即可進(jìn)行相關(guān)操作
$ git clone git@git.oschina.net:xxx/ProjectName.git
注意:oschina倉(cāng)庫(kù)有兩種地址,一個(gè)是通過http訪問的地址,一個(gè)是通過ssh訪問的地址。從oschina拷貝下來的文件默認(rèn)保存在.ssh隱藏文件中
- 6.添加
gitignore
#下句指令的意思是將指定路徑下的swift.gitignore文件內(nèi)容拷貝到.gitignore目錄下
$ cp /Users/laichunhui/Desktop/工具包/git/gitignore-master/Swift.gitignore .gitignore
- 提示:
- 可以從 https://github.com/github/gitignore 獲取最新版本的
gitignore
文件,拷貝相應(yīng)語(yǔ)言的.gitignore到項(xiàng)目中 - 添加
.gitignore
文件之后,每次提交時(shí)不會(huì)將個(gè)人的項(xiàng)目設(shè)置信息(例如:末次打開的文件,調(diào)試斷點(diǎn)等)提交到服務(wù)器,有助于節(jié)省空間占用,并且可以規(guī)避一些不必要的沖突,有益于團(tuán)隊(duì)開發(fā)
- 可以從 https://github.com/github/gitignore 獲取最新版本的
- 7.上傳修改后的項(xiàng)目
$ git add .
$ git commit -m"添加gitignore"
$ git push
如果你的項(xiàng)目里使用了cocoapods
,上面的指令的指令會(huì)將cocoapods
中的內(nèi)容一并上傳,雖然占用了許多空間,但是相比較于每每同步項(xiàng)目后的pod update
,我想這樣會(huì)讓我們的開發(fā)更得心應(yīng)手。
- 想了解更多,可以參考開源中國(guó)幫助文檔:https://git.oschina.net/oschina/git-osc/wikis/幫助#ssh-keys