【初識Github】 首先讓我們大家一起喊一句“Hello Github”。YEAH!就是這樣。Git是一個分散式的版本控制系統,最初由Linus Torvalds編寫,用作Linux內核代碼的管理。在推出後,Git在其它項目中也取得了很大成功,尤其是在Ruby社區中。目前,包括Rubinius和M ...
【初識Github】
首先讓我們大家一起喊一句“Hello Github”。YEAH!就是這樣。
Git是一個分散式的版本控制系統,最初由Linus Torvalds編寫,用作Linux內核代碼的管理。在推出後,Git在其它項目中也取得了很大成功,尤其是在Ruby社區中。目前,包括Rubinius和Merb在內的很多知名項目都使用了Git。Git同樣可以被諸如Capistrano和Vlad the Deployer這樣的部署工具所使用。同樣,eoe.cn客戶端的源碼也托管在github上。
GitHub可以托管各種git庫,並提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在於從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然後將代碼檢出並將修改加入到剛纔分出的代碼庫中,最後通過內建的“pull request”機制向項目負責人申請代碼合併。已經有人將GitHub稱為代碼玩家的MySpace。
在GitHub進行分支就像在Myspace(或Facebook…)進行交友一樣,在社會關係圖的節點中不斷的連線。
GitHub 使用 git 分散式版本控制系統,而 git 最初是 Linus Torvalds 為幫助Linux開發而創造的,它針對的是 Linux 平臺,因此 git 和 Windows 從來不是最好的朋友,因為它一點也不像 Windows。GitHub 發佈了GitHub for Windows,為 Windows 平臺開發者提供了一個易於使用的 Git 圖形客戶端。
GitHub For Windows
GitHub for Windows 是一個 Metro 風格應用程式,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 擴展。GitHub 為 Windows 用戶提供了一個基本的圖形前端去處理大部分常用版本控制任務,可以創建版本庫,向本地版本庫遞交補丁,在本地和遠程版本庫之間同步。微軟也通過CodePlex向開發者提供 git 版本控制系統,而 GitHub 創造了一個更具有吸引力的 Windows 版本。
GitHub上已自動配置的Mac筆記本電腦,一個工具,可以轉換設置Linux或Windows機器。
BOXEN是GitHub的自動化工具,設置和配置的Mac筆記本電腦軟體開發[3]或其他類型的工作,正在使用他們的開發人員,律師,設計師,付貨人,等。我們的想法是準備系統以自動方式和作為無差錯儘可能用最少的干預工作。根據GitHub上,與一個新的開發機器上,他的Mac系統成立,並準備在30分鐘內提交代碼。
BOXEN的基礎上收集了大量的幾十個木偶模塊,使設置的各種軟體,如卡桑德拉,MongoDB中,Java軟體中,Python和Ruby開發中,節點,JS,nginx的,Skype公司,甚至MINECRAFT。雖然機器上配備了一個預配置,每個用戶都可以調整它的配置應有的作用。
【如何使用】
1.註冊賬戶以及創建倉庫
要想使用github第一步當然是註冊github賬號了。之後就可以創建倉庫了(免費用戶只能建公共倉庫),Create a New Repository,填好名稱後Create,之後會出現一些倉庫的配置信息,這也是一個git的簡單教程。
2.安裝客戶端msysgit
github是服務端,要想在自己電腦上使用git我們還需要一個git客戶端,我這裡選用msysgit,這個只是提供了git的核心功能,而且是基於命令行的。如果想要圖形界面的話只要在msysgit的基礎上安裝TortoiseGit即可。
裝完msysgit後右鍵滑鼠會多出一些選項來,在本地倉庫里右鍵選擇Git Init Here,會多出來一個.git文件夾,這就表示本地git創建成功。右鍵Git Bash進入git命令行,為了把本地的倉庫傳到github,還需要配置ssh key。
3.配置Git
首先在本地創建ssh key;
[plain] view plain copy print?
- ssh-keygen -t rsa -C "[email protected]"
後面的[email protected]改為你的郵箱,之後會要求確認路徑和輸入密碼,我們這使用預設的一路回車就行。成功的話會在~/下生成.ssh文件夾,進去,打開id_rsa.pub,複製裡面的key。
回到github,進入Account Settings,左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼key。為了驗證是否成功,在git bash下輸入:
[plain] view plain copy print?
- $ ssh -T [email protected]
如果是第一次的會提示是否continue,輸入yes就會看到:You’ve successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。
接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設置username和email,因為github每次commit都會記錄他們。
[plain] view plain copy print?
- $ git config --global user.name "your name"
- $ git config --global user.email "[email protected]"
進入要上傳的倉庫,右鍵git bash,添加遠程地址:
[plain] view plain copy print?
- $ git remote add origin [email protected]:yourName/yourRepo.git
後面的yourName和yourRepo表示你再github的用戶名和剛纔新建的倉庫,加完之後進入.git,打開config,這裡會多出一個remote “origin”內容,這就是剛纔添加的遠程地址,也可以直接修改config來配置遠程地址。
4.提交、上傳
接下來在本地倉庫里添加一些文件,比如README,
[plain] view plain copy print?
- $ git add README
- $ git commit -m "first commit"
上傳到github:
[plain] view plain copy print?
- $ git push origin master
git push命令會將本地倉庫推送到遠程伺服器。
git pull命令則相反。
修改完代碼後,使用git status可以查看文件的差別,使用git add 添加要commit的文件,也可以用git add -i來智能添加文件。之後git commit提交本次修改,git push上傳到github。
5.gitignore文件
.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要並且很實用的文件。一般我們寫完代碼後會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。我們在git status的時候會看到很多這樣的文件,如果用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時我們就需要.gitignore了。比如一般c#的項目我的.gitignore是這樣寫的:
[plain] view plain copy print?
- bin
- *.suo
- obj
bin和obj是編譯目錄,裡面都不是源代碼,忽略;suo文件是vs2010的配置文件,不需要。這樣你在git status的時候就只會看到源代碼文件了,就可以放心的git add -A了。
6.tag
我們可以創建一個tag來指向軟體開發中的一個關鍵時期,比如版本號更新的時候可以建一個“v2.0”、“v3.1”之類的標簽,這樣在以後回顧的時候會比較方便。tag的使用很簡單,主要操作有:查看tag、創建tag、驗證tag以及共用tag,這些下麵的博客中有詳細講解。
【Github的相關使用文章】