我們?cè)撊绾伍_始自己的GitHub之旅?
譯文如果大家打算學(xué)習(xí)如何使用Git,但卻不打算自行配置服務(wù)器,那么GitHub可能會(huì)成為各位最理想的施展平臺(tái)。
并不只是我自己有這樣的想法。在最近的一次現(xiàn)場(chǎng)走訪當(dāng)中,Groupon公司人才發(fā)掘主管告訴我,該公司最近已經(jīng)把招聘英才的陣地由原本的簡(jiǎn)歷網(wǎng)站轉(zhuǎn)移到了GitHub當(dāng)中。
如果這還不足以推動(dòng)大家學(xué)習(xí)Git,那么免費(fèi)教程算不算另一種吸引力?各位朋友們運(yùn)氣不錯(cuò),請(qǐng)花上一個(gè)小時(shí)跟隨本文并加以實(shí)踐,GitHub之旅就此開始。
首先尋找一個(gè)Git項(xiàng)目——或者直接使用我們的示例
Git采用的是每項(xiàng)任務(wù)一個(gè)分支的處理模式;本地副本就是大家正在使用的分支。我們可以向其提交內(nèi)容、進(jìn)行回滾并定期將其推送至GitHub服務(wù)器?;A(chǔ)操作只分為添加、提交與推送三種。GitHub是一套需要付費(fèi)的企業(yè)代碼庫,但其開源項(xiàng)目是完全免費(fèi)的。
在今天的文章中,我們將創(chuàng)建一個(gè)開源項(xiàng)目并將其保存在GitHub當(dāng)中。我們只需要少部分代碼即可完成整個(gè)流程。
作為***步,大家首先選擇一個(gè)包含部分代碼以及創(chuàng)建步驟的項(xiàng)目。如果大家手頭沒有任何可用代碼,也可以使用The Factory Simulation——別忘了,它需要有Ruby的支持才能正常運(yùn)行。大家只需創(chuàng)建一個(gè)子目錄、再在其下另創(chuàng)建一個(gè)名為“lib”的子目錄,而后將五個(gè)文件復(fù)制到正確的位置。
為了理解代碼內(nèi)容,大家需要對(duì)Ruby具備初步了解。要運(yùn)行該應(yīng)用程序,我們前往根目錄并通過命令行輸入“ruby factory_multi3.rb”。運(yùn)行測(cè)試的話,則需要將目錄切換至測(cè)試目錄并輸入“ruby run_all.rg”。(這是由代碼編寫者M(jìn)att Heusser貢獻(xiàn)的內(nèi)容,基于由Zach Spencer貢獻(xiàn)的開源許可。)
下一步,創(chuàng)建一個(gè)GitHub賬戶
訪問github.com并登錄?,F(xiàn)在下載并安裝***版本命令行工具。利用這套工具,我們可以通過Web界面創(chuàng)建一套庫,而后利用命令行將我們的代碼導(dǎo)入至GitHub當(dāng)中。
從登錄頁面開始,點(diǎn)擊右側(cè)的綠色“+New Repository”按鈕:
首先創(chuàng)建一套庫。如果大家無法順利進(jìn)行,可以考慮參考GitHub的使用指南。
庫創(chuàng)建完成之后,啟動(dòng)命令行并運(yùn)行各項(xiàng)命令。注意,請(qǐng)確保已經(jīng)將目錄變更為代碼所在目錄。
- touch README.md
提示:Windows不支持“touch”命令。大家可以編輯并保存一個(gè)名為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
下面輸入大家的用戶名與密碼內(nèi)容。恭喜各位,現(xiàn)在大家已經(jīng)在GitHub擁有了自己的公開代碼——其URL為http://github.com/(用戶名)/(庫名稱)——全世界都可以查看其內(nèi)容。
我剛剛做了些什么?
首先,利用“touch”命令,我們創(chuàng)建了一個(gè)自述文件,大家以在線方式查看庫的根目錄時(shí)git init會(huì)顯示其內(nèi)容。通過這個(gè)文件,我們可以告知用戶們?cè)撊绾芜\(yùn)行我們的程序。
Git init會(huì)在本地目錄中創(chuàng)建一個(gè)空白的Git庫。“Add *”負(fù)責(zé)將本地庫中的所有文件添加到該庫當(dāng)中及其子目錄當(dāng)中,同時(shí)將所有已提交的變更整理至一套變更集當(dāng)中。請(qǐng)注意命令中的-m結(jié)尾,它代表的是版本說明。如果大家不添加-m參數(shù),那么Git會(huì)強(qiáng)制要求我們?cè)趘i中對(duì)其進(jìn)行編輯。
接下來,我們利用Git遠(yuǎn)程添加功能將自己的變更內(nèi)容連接至GitHub。如果大家運(yùn)行有自己的服務(wù)器,則只需要變更其中的URL即可。***,我們利用git push將變更結(jié)果推送至GitHub。
現(xiàn)在,如果我訪問https://github.com/MattExcelon/factory6(我剛剛導(dǎo)入的內(nèi)容),則會(huì)看到README.md文件中沒有任何內(nèi)容。我們對(duì)其進(jìn)行編輯,并添加如下文本。大家可以直接把內(nèi)容剪切并粘貼進(jìn)去。
- 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
現(xiàn)在大家已經(jīng)對(duì)代碼作出了變更,下面需要將其提交至服務(wù)器端。因此:
- git add READM.md
- git commit -m “Updated the Readme to provide information”
- git push
完成以上步驟后,在我們的瀏覽器中刷新http://github.com/(用戶名)/(庫名稱)并查看顯示出的README內(nèi)容。大家會(huì)注意到,其中的井號(hào)(#)代表Markdown語言的一種type,用于創(chuàng)建標(biāo)題。(大家可以點(diǎn)擊此處查看GitHub關(guān)于Markdown的幫助信息。)
創(chuàng)建自己的庫之后
GitHib不僅僅是一個(gè)網(wǎng)站,它代表的是一整個(gè)社區(qū)。大家可以關(guān)注其他用戶、關(guān)注項(xiàng)目工程并獲取與變更相關(guān)的通知信息;GitHub甚至提供建議指導(dǎo)各位從零開始進(jìn)行體驗(yàn)。
除了自己的作業(yè)內(nèi)容之外,大家可能還希望保留其他用戶的工程副本并對(duì)內(nèi)容作出修改。要對(duì)代碼進(jìn)行fork,可以查看對(duì)應(yīng)GitHub庫(下圖地址為https://github.com/taq/vim-refact)并點(diǎn)擊右側(cè)的“Fork”。大家可以建立屬于自己的版本號(hào),并使其自動(dòng)重新定向至我們的代碼庫。
在自己的頁面中(目前的URL為https://github.com/heusserm/vim-refact),大家會(huì)在窗口右側(cè)看到“HTTPS clone URL”。在命令行中,進(jìn)入Git安裝根目錄并輸入以下內(nèi)容:
- git clone (URL you copied)
Git會(huì)在我們的本地設(shè)備上為對(duì)應(yīng)庫創(chuàng)建一套副本,現(xiàn)在大家可以對(duì)其進(jìn)行添加、提交以及推送操作。
這些變更內(nèi)容會(huì)被定位至我們自己的庫,請(qǐng)放心、不會(huì)影響到任何其他用戶。一切準(zhǔn)備就緒后,大家可以通過發(fā)送請(qǐng)求通知其他用戶我們對(duì)代碼作出的變更,并讓他們幫忙進(jìn)一步雕琢自己的開發(fā)成果。
在今天的文章中,我們主要關(guān)注的是Git的一部分基本要素——具體來講,如何向GitHub添加/提交/推送代碼,以及如何創(chuàng)建代碼庫。在GitHub上擁有自己的代碼成果是吸引招聘者眼球的有效手段。雖然創(chuàng)建個(gè)人項(xiàng)目需要投入大量時(shí)間與精力,但這一切足以讓招聘者積極與我們聯(lián)系甚至提供理想的工作崗位。
我們已經(jīng)在GitHub上創(chuàng)建了一套功能完備的應(yīng)用程序,并對(duì)其進(jìn)行了測(cè)試。下一步待完成的工作應(yīng)該是將其與持續(xù)集成(簡(jiǎn)稱CI)系統(tǒng)進(jìn)行整合,例如Jenkins,并將結(jié)果推送至GitHub以為我們的軟件生成新的構(gòu)建/測(cè)試運(yùn)行流程。
但這就是下一篇文章要聊的內(nèi)容了,我們到時(shí)候見。