本文主要介紹一下如何將我們的項目托管到Github功能包括:
1.托管項目到Github,用git來進行管理
2.如何修改提交
3.項目階段性標記tag
詳細步驟如下:
1:注冊Github的賬號,這是必須滴。怎么注冊?按照正常的注冊流程就好。注冊傳送門Github
2:先科普一下有關(guān)gitHub。
gitHub網(wǎng)站使用Git版本管理工具來對倉庫進行管理,注意它們并不等同。gitHub是全球最大的第三方開源庫集散地,Git是一款分布式的版本管理控制工具(除了git之外還有一些其他的版本管理控制工具如SVN等)。
如有需要請參考:Git教程。
關(guān)于Git使用的相關(guān)書籍:Git版本控制管理(第2版),Git權(quán)威指南(電子版下載地址)。
3:在github上面建立空的倉庫(repositories)
3.1:在第一步中注冊成功,登陸github賬號。
3.2:點擊頭像右邊的加號+,選擇new repositories選項,簡單配置后即可創(chuàng)建一個空的倉庫。其中repositories name處需要填寫的是倉庫的名稱。Description (optional)處填寫對該倉庫的簡單描述,主要是介紹下倉庫的功能等(可以不寫)。
3.3:接下來是兩個選項(Public|private)表示你創(chuàng)建的倉庫是公開的還是私有的。Public和private有什么不同呢?如果倉庫是公開的那么意味著任何人都可以無條件的獲得你整個倉庫的內(nèi)容,免費。如果倉庫是私有的,那么別人無法訪問你的私有倉庫,條件是需要花錢交保護費,在這里我們選擇public倉庫即可。
3.4:Initialize this repository with a README 表示在初始化倉庫的時候,是否生成一個readMe文件。我們在查看別人框架的時候,在框架主頁上會有對該框架版本信息.
Add .gitignore按鈕,點擊之后會出現(xiàn)一個下拉框,問你是否要設(shè)置倉庫的忽略文件。這個看你自己的需要,通常如果你的倉庫和代碼項目有關(guān)系,那么最好選擇相應(yīng)的忽略文件(如OC項目可以選擇Object-C,swift項目可以選擇Swift),至于為什么請參考GIT的基本使用。
Add a license按鈕,點擊之后會出現(xiàn)一個下拉框,需要你選擇一種開源協(xié)議,開源協(xié)議有很多種用的比較多的有MIT的或者是Apache的,不同的開源協(xié)議對項目的使用方式等有不同的規(guī)定,詳情可以參考Choose an open source license。
3.5:上面的信息都設(shè)置好之后,接下來只需要輕輕點擊Create respository按鈕即可創(chuàng)建一個空的倉庫。
4:連接遠程倉庫
連接遠程倉庫的方式有很多種,可以使用第三方的GIT管理圖形界面工具如sourceTree,也可以使用終端(命令行),或者是XCode。在這里就選擇使用XCode來完成該操作。
把MAC 上面的XCode打開,打開之后,左上角菜單選擇Xcode->Preference選項
進入到XCode的配置信息窗口。
切換到Accounts菜單,點擊左下角的+號,選擇Add Respository添加倉庫。
Address需要輸入要連接的遠程倉庫地址,其實要連接遠程倉庫有兩種方式可以選擇一種是HTTPS請求的,一種是SSH密鑰對。在這里,我們先講解HTTPS請求應(yīng)該如何處理,如何獲得倉庫地址呢?選擇clone with https后拷貝輸出框中地址
Type:表示使用的版本管理方式可以選擇GIT和SVN,在這里只能選擇Git(因為GIThub只支持git的方式來管理)
Authentication:表示認證的方式即驗證身份的,Github提供兩種驗證方式,HTTPS和SSH,我們當前選擇的是HTTPS的方式,所以此處選擇User Name and Password.
User Name 和passWord兩處填入github網(wǎng)站登錄的用戶名和密碼即可。
配置完成之后,點擊add按鈕,出現(xiàn)下面的窗口,則說明連接倉庫成功。
5:把遠程倉庫下載到本地
連接上遠程倉庫之后,接下來我們把遠程倉庫下載到本地,如圖選擇菜單欄的source control->check out。
之后會彈出如下界面,找到要下載的倉庫(通常在最后),點擊Next
點擊Next按鈕之后,需要你選擇倉庫下載后的存儲位置,然后點擊Finsh完成即可。把倉庫下載完成之后,可以發(fā)現(xiàn)內(nèi)部有一個.git的隱藏文件,即git的版本庫。
補充:可以在終端輸入如下命令來顯示或者是不顯示隱藏文件
- 顯示隱藏文件 $ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
- 不顯示隱藏文件$ defaults write com.apple.finder AppleShowAllFiles No && killall Finder
第七步:添加OC項目到倉庫中并推送到遠程服務(wù)器
1)首先先新建一個項目,假設(shè)為ZZDemo,項目創(chuàng)建后保存到倉庫路徑下(和.git文件同級)
2)打開項目,會發(fā)現(xiàn)在項目的導(dǎo)航欄中各個文件會顯示不同的狀態(tài)如?M等等,通過這種方法來初始化項目,項目本身已經(jīng)被納入到git版本庫的管理范疇。
3)把修改提交到本地并推送到遠程服務(wù)器。
XCode本身已經(jīng)對git進行了很好的集成,點擊菜單欄上面的source control選項
其中check out 等同于git 命令行中的clone指令,用于把遠程倉庫下載到本地。
commit 等同于git命令行中的commit指令(無差別),用于把更改提交到本地git版本庫。
push等同于git命令行中的push指令(無差別),用于把更改提交到遠程的git倉庫中。
pull指令等同于git命令行中pull指令(無差別),用于獲取得到最新的遠程倉庫信息。
此處,我們需要先選擇commit選項,先把更改提交到本地的版本庫。選擇commit
命令行操作
上面所有演示都沒有涉及到命令行,那如果不使用XCode而是使用命令行,應(yīng)該如何處理增加、刪除、提交等常見操作呢?
1)新創(chuàng)建文件,需要把創(chuàng)建的文件提交到本地的git版本庫。
把終端打開,cd進入到倉庫路徑,然后創(chuàng)建一個NewFile文件,如下圖所示:
新創(chuàng)建了NewFile文件之后,該文件默認并不會被git版本庫管理(可以使用git status命令查看),需要使用add 命令先把指定的文件添加到git的暫緩區(qū),然后再提交到git的版本庫,如下圖所示。
命令說明:
$ ls -l 以列表的方式顯示當前目錄下面的文件(NewFile文件為剛剛創(chuàng)建的)
$ git status 查看git倉庫文件狀態(tài) (NewFile文件狀態(tài)為紅色,表示未被git管理)
$ git add NewFile 把NewFile文件添加到git的暫緩區(qū)中(如果需要一次性提交多個文件,那么可以使用git add .命令)
$ git status 重新查看狀態(tài)(此時NewFile文件狀態(tài)為綠色,表示更改已經(jīng)提交到了暫緩區(qū))
$ git commit -m "創(chuàng)建了NewFile文件" NewFile 表示把暫緩區(qū)中NewFile文件對應(yīng)的更改提交到本地的git版本庫(如果要一次性提交所有的更改,那么可以直接把具體的文件省略即可)
2)把文件提交到遠程(github)的倉庫
說明:使用git push指令把本地的更改推送到遠程倉庫。
此時重新刷新下github網(wǎng)站上該倉庫的主頁,可以發(fā)現(xiàn)NewFile文件已經(jīng)提交。
3)修改文件,并把修改操作提交到遠程倉庫。
假設(shè)我們修改了NewFile文件,然后把修改提交到git暫緩區(qū),提交到本地的git版本庫之后,再推送到遠程的倉庫。
第九步:其他操作(tag標記)
如果你的項目已經(jīng)完成了里程碑開發(fā),那么可以確定為一個新的版本,比如說發(fā)布為正式的1.0版本,而后續(xù)可能接著發(fā)布1.1.0或者是2.0版本等等,那么使用github托管的項目如何確定為一個新的版本呢?或者是如何進行tag標記。
如果倉庫沒有發(fā)布特定的版本,那么release處顯示為0.
假設(shè)當前的項目已經(jīng)完成了階段性的開發(fā),需要正式確定為ZZDemo1.0版本,那么應(yīng)該如何處理?
上面的命令行~
(1)先使用git tag指令查看當前被打上tag標簽的版本,最開始的時候無
(2)然后把當前的倉庫打上tag標簽,為ZZDemo1.0版本,并添加注釋
(3)再使用git tag指令查看,即可以發(fā)現(xiàn)有ZZDemo1.0版本
確定了新版本之后,還需要把標簽推送到遠程服務(wù)器,命令行為git push origin 標簽名,具體操作如下圖所示:
推送到遠程倉庫之后,刷新github上面該倉庫主頁,發(fā)現(xiàn)release處變?yōu)?,點擊該按鈕就可以看到(提供標記版本的壓縮下載)