我們該如何開始自己的GitHub之旅?
譯文如果大家打算學習如何使用Git,但卻不打算自行配置服務器,那么GitHub可能會成為各位最理想的施展平臺。
并不只是我自己有這樣的想法。在最近的一次現場走訪當中,Groupon公司人才發掘主管告訴我,該公司最近已經把招聘英才的陣地由原本的簡歷網站轉移到了GitHub當中。
如果這還不足以推動大家學習Git,那么免費教程算不算另一種吸引力?各位朋友們運氣不錯,請花上一個小時跟隨本文并加以實踐,GitHub之旅就此開始。
首先尋找一個Git項目——或者直接使用我們的示例
Git采用的是每項任務一個分支的處理模式;本地副本就是大家正在使用的分支。我們可以向其提交內容、進行回滾并定期將其推送至GitHub服務器。基礎操作只分為添加、提交與推送三種。GitHub是一套需要付費的企業代碼庫,但其開源項目是完全免費的。
在今天的文章中,我們將創建一個開源項目并將其保存在GitHub當中。我們只需要少部分代碼即可完成整個流程。
作為***步,大家首先選擇一個包含部分代碼以及創建步驟的項目。如果大家手頭沒有任何可用代碼,也可以使用The Factory Simulation——別忘了,它需要有Ruby的支持才能正常運行。大家只需創建一個子目錄、再在其下另創建一個名為“lib”的子目錄,而后將五個文件復制到正確的位置。
為了理解代碼內容,大家需要對Ruby具備初步了解。要運行該應用程序,我們前往根目錄并通過命令行輸入“ruby factory_multi3.rb”。運行測試的話,則需要將目錄切換至測試目錄并輸入“ruby run_all.rg”。(這是由代碼編寫者Matt Heusser貢獻的內容,基于由Zach Spencer貢獻的開源許可。)
下一步,創建一個GitHub賬戶
訪問github.com并登錄。現在下載并安裝***版本命令行工具。利用這套工具,我們可以通過Web界面創建一套庫,而后利用命令行將我們的代碼導入至GitHub當中。
從登錄頁面開始,點擊右側的綠色“+New Repository”按鈕:
首先創建一套庫。如果大家無法順利進行,可以考慮參考GitHub的使用指南。
庫創建完成之后,啟動命令行并運行各項命令。注意,請確保已經將目錄變更為代碼所在目錄。
- touch README.md
提示:Windows不支持“touch”命令。大家可以編輯并保存一個名為README.md的空白文本文件。
- git init
- git add *
- git commit -m "first commit"
- git remote add origin https://github.com/(Username)/(Repository_name).git
- git push -u origin master
下面輸入大家的用戶名與密碼內容。恭喜各位,現在大家已經在GitHub擁有了自己的公開代碼——其URL為http://github.com/(用戶名)/(庫名稱)——全世界都可以查看其內容。
我剛剛做了些什么?
首先,利用“touch”命令,我們創建了一個自述文件,大家以在線方式查看庫的根目錄時git init會顯示其內容。通過這個文件,我們可以告知用戶們該如何運行我們的程序。
Git init會在本地目錄中創建一個空白的Git庫。“Add *”負責將本地庫中的所有文件添加到該庫當中及其子目錄當中,同時將所有已提交的變更整理至一套變更集當中。請注意命令中的-m結尾,它代表的是版本說明。如果大家不添加-m參數,那么Git會強制要求我們在vi中對其進行編輯。
接下來,我們利用Git遠程添加功能將自己的變更內容連接至GitHub。如果大家運行有自己的服務器,則只需要變更其中的URL即可。***,我們利用git push將變更結果推送至GitHub。
現在,如果我訪問https://github.com/MattExcelon/factory6(我剛剛導入的內容),則會看到README.md文件中沒有任何內容。我們對其進行編輯,并添加如下文本。大家可以直接把內容剪切并粘貼進去。
- The Factory Simulation
- From CIO.com, uploaded by (name), based on the work of Matthew Heusser
- Matt@xndev.com
- Distributed under the GNU GPL 2.0 license:
- http://choosealicense.com/licenses/gpl-2.0/
- Imagine a factory that has a number of stations. Each day, work proceeds through
- the stations.
- The stations have high variability but are balanced. We simulate this with a six
- sided die. Users enter the number of stations and days and the application shows
- how work processes. The advanced version, factory_multi3.rb allows you to simulate
- multiple runs of the factory (run it a thousand times and take the averages) or
- change the number of dice.
- ## Dependencies
- This code developed and tested under ruby 2.0.0p247. As long as you have ruby 1.9.3
- or higher you should be fine.
- ## Running the Simulation
- 1. `cd this/project/directory`
- 2. `ruby factory.rb` or `ruby factory_multi3.rb`
- ## Running the Tests
現在大家已經對代碼作出了變更,下面需要將其提交至服務器端。因此:
- git add READM.md
- git commit -m “Updated the Readme to provide information”
- git push
完成以上步驟后,在我們的瀏覽器中刷新http://github.com/(用戶名)/(庫名稱)并查看顯示出的README內容。大家會注意到,其中的井號(#)代表Markdown語言的一種type,用于創建標題。(大家可以點擊此處查看GitHub關于Markdown的幫助信息。)
創建自己的庫之后
GitHib不僅僅是一個網站,它代表的是一整個社區。大家可以關注其他用戶、關注項目工程并獲取與變更相關的通知信息;GitHub甚至提供建議指導各位從零開始進行體驗。
除了自己的作業內容之外,大家可能還希望保留其他用戶的工程副本并對內容作出修改。要對代碼進行fork,可以查看對應GitHub庫(下圖地址為https://github.com/taq/vim-refact)并點擊右側的“Fork”。大家可以建立屬于自己的版本號,并使其自動重新定向至我們的代碼庫。
在自己的頁面中(目前的URL為https://github.com/heusserm/vim-refact),大家會在窗口右側看到“HTTPS clone URL”。在命令行中,進入Git安裝根目錄并輸入以下內容:
- git clone (URL you copied)
Git會在我們的本地設備上為對應庫創建一套副本,現在大家可以對其進行添加、提交以及推送操作。
這些變更內容會被定位至我們自己的庫,請放心、不會影響到任何其他用戶。一切準備就緒后,大家可以通過發送請求通知其他用戶我們對代碼作出的變更,并讓他們幫忙進一步雕琢自己的開發成果。
在今天的文章中,我們主要關注的是Git的一部分基本要素——具體來講,如何向GitHub添加/提交/推送代碼,以及如何創建代碼庫。在GitHub上擁有自己的代碼成果是吸引招聘者眼球的有效手段。雖然創建個人項目需要投入大量時間與精力,但這一切足以讓招聘者積極與我們聯系甚至提供理想的工作崗位。
我們已經在GitHub上創建了一套功能完備的應用程序,并對其進行了測試。下一步待完成的工作應該是將其與持續集成(簡稱CI)系統進行整合,例如Jenkins,并將結果推送至GitHub以為我們的軟件生成新的構建/測試運行流程。
但這就是下一篇文章要聊的內容了,我們到時候見。