標籤:
這段時間在部落格園多了很多關於GitHub的文章,但是我的確沒怎麼看懂。不過這幾天簡單的看了寫資料,親身操作之後也有了一點體會。這算是最簡單的GitHub入門了吧,基本全是滑鼠操作。這也是這幾天的總結,和大家共同分享。文中如果有什麼錯誤或者不恰當的地方,還希望大家及時指正。關於GitHub的內容,主要參考了GotGitHub。
1. 背景和目的
去年的時候,有個老師推薦使用GitHub來管理自己的代碼。這段時間部落格園的首頁上多了很多關於GitHub的介紹。半年多來,我對我做的絕大多數事情都做了詳細的記錄,希望能把自己的工作保留下來。對於工作本身的一些經驗,採取文檔的形式,完成之後修改不是那麼的頻繁,但是代碼不一樣。很多時候,我的確發現需要好好整理自己的代碼了,比如說
是一個失敗的例子,檔案夾內的多數檔案具有類似的功能,但是又有一些差別。好吧,實際上就是當我要找某段代碼的時候,我自己都找不到了……發到首頁上的GitHub介紹都比較進階,說實話我不怎麼看得懂。所以本文的目的,就是利用我這幾天的經驗,最簡單的介紹一下GitHub for Windows(https://windows.github.com/)的應用。(在寫這一段的時候,發現部落格園還是有很基礎的介紹的,比如http://www.cnblogs.com/Yiutto/p/4665012.html)
2. Git和GitHub
“GitHub(網址 https://github.com/)是一個面向開源及私人軟體項目的託管平台,因為只支援Git作為唯一的版本庫格式進行託管,故名GitHub。”(http://www.worldhello.net/gotgithub/01-explore-github/010-what-is-github.html)
Git是一個分布式的版本控制系統。版本控制,對於有且僅有我一個人蔘與的項目而言,需求實際上並不是很多。我需要儲存My Code並可以便捷的查看,能夠隨時的修改而不受網路限制。可以根據我的修改即使的更新代碼,並且提供更新前後的對比,更新說明記錄,同時根據更新記錄,可以尋找修改之前的代碼。除了代碼內的注釋,我還希望能夠對整個項目做具體的說明,這不僅有利於別人瞭解這是什麼,也時時刻刻提醒自己這是什麼,還有什麼需要修改的地方。這些需求都被輕鬆的滿足了,當然,Git的魅力遠不在此。
GotGitHub中有簡潔形象的關於Git的描述。對於一個你的開源的項目,參與者不僅僅會是你本身,還有和你一起的核心開發人員和希望加入的外圍開發人員。而你可能也會希望加入別人的開源項目。Git是如何協調這幾類人員之間的關係?我寫的肯定沒有這裡的好,所以去這裡看吧……
3. 建立repository
Repository: 版本庫
帳號註冊和軟體安裝之類的不談(注意:帳號註冊之後,顯示在你的版本庫之前的名字是改不掉的),建立一個新版本庫是第一步(也可以Fork別人的版本庫,這個先不談,因為我沒有做過)。網頁的操作都很簡單,還有詳盡的協助,這一過程在網頁上完成就可以了。只需要指定名稱,描述(可選),勾選上README,是否添加gitignore(不太懂,見Ignoring files),添加合適的license。點擊按鈕就可以建立版本庫了。
運行GitHub for Widnows,登入你的GitHub帳號,點擊左上方的 ‘+‘ ,選擇Clone可以複製雲端的版本庫到本地的指定位置。
建立立的版本庫中只可能有README和Ignoring 檔案。版本庫中的任何改變(檔案添加、刪除和修改)都會體現在Changes中,檔案名稱後的綠色表示新增內容,紅色表示刪除內容。完成修改後,寫上本次Commit的標題和內容,可以點擊Commit按鈕上傳修改。如果在其他地方對版本庫有修改,則需要先點擊同步按鈕擷取最新版本庫之後,才能夠上傳修改。
任何的Commit都會記錄在History中,可以在此處查看提交的內容,對比提交前後的變化,甚至可以撤銷修改(通過重新提交修改的方式)。分別是Changes(左)和History(右)的顯示。
4. README和其他說明
回到第二節的需求,其中有一條是“除了代碼內的注釋,我還希望能夠對整個項目做具體的說明,這不僅有利於別人瞭解這是什麼,也時時刻刻提醒自己這是什麼,還有什麼需要修改的地方”。
第三節中初始化的README起到了這個作用,README會顯示在版本庫的下方(網頁),如
.md尾碼的README檔案內容採用Markdown,Markdown基本文法見第五節。開啟README.md檔案,編輯即可,不放心的話還可以找一個Markdown編輯器(參考),或者選擇一款線上編輯器。GitHub還提供了其他的方式來展現整個版本庫的內容、功能。
簡單的操作就能製作精美的項目首頁,在版本庫的設定中,點擊‘Launch automatic page generator‘,利用Markdown標記內容,之後選擇合適的模板就可以產生精美的項目首頁,項目首頁網域名稱為<user-id>.github.io/<project-name>,譬如http://caowenhui.github.io/LDPCC/。
這裡我直接將README中的內容添加到了項目首頁上,效果如(效果取決於選擇的模板,自己寫也可以)
在網頁建立了項目主要之後,在GitHub for Windows 下同步後會發現,版本庫多了一個名為gh-pages的分支。當我們建立一個新的版本庫的時候,預設會建立一個master分支。那麼分支是用來幹什麼的呢?使用git 建立分支以及管理分支提到了這個問題,如果想測試某個功能,又不想改變主分支的內容,那麼可以建立一個新的分支,這個分支會複製主分支的全部內容。
而gh-pages是一個特殊的分支,gh-pages不包含主分支內容,在gh-pages中添加靜態網頁後,GitHub會自動調用該分支內的內容。
5. Markdown基本文法
通常來說,撰寫文檔的時候會用到的基本格式、內容包括以下幾種
下面將簡單介紹基本文法,更多內容可參考http://www.appinn.com/markdown/#p。
標題通常採用以下方式,即通過#標識這是標題,通過#的個數標識這是幾級標題
# 這是一級標題## 這是二級標題###### 這是六級標題
列表才有*,+,-標識,如
* Red* Green* Blue
有序列表通過數字加英文的 ‘.‘ 標識,注意內容之前需要加上一個空格(有序列表的數字不一定需要有序,但是建議這樣做)
1. Bird2. McHale3. Parish
圖片和超連結具有相同的形式(圖片之前有一 ‘!‘),即[文字](連結)的形式。
超連結表示形式:[部落格](http://www.cnblogs.com/sea-wind2)圖片表示形式 : 
6. 其他
最簡單的使用說明,功能遠沒有結束。其中最重要的一點是如何和他人共同工作?這個他人,可能指團隊內的合作者,或是其他對這個項目感興趣其他程式員,還可能是不精通編程但對這個項目有一些見解的人。GitHub上的Fork,Pull,Issue等,這裡就先不做說明了,因為我也沒有什麼體會。
GitHub: Windows 下的簡單使用