原文http://www.eoeandroid.com/thread-274556-1-1.html
【初識Github】
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 plaincopy
ssh-keygen?-t?rsa?-C?"your_email@youremail.com"
后面的your_email@youremail.com改為你的郵箱,之后會要求確認路徑和輸入密碼,我們這使用默認的一路回車就行。成功的話會在~/下生成.ssh文件夾,進去,打開id_rsa.pub,復制里面的key。
回到github,進入Account Settings,左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼key。為了驗證是否成功,在Gitbash下輸入:
[plain]view plaincopy
$?ssh?-T?git@github.com
如果是第一次的會提示是否continue,輸入yes就會看到:You’ve successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。
接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設置username和email,因為github每次commit都會記錄他們。
[plain]view plaincopy
$?git?config?--global?user.name?"your?name"
$?git?config?--global?user.email?"your_email@youremail.com"
進入要上傳的倉庫,右鍵git bash,添加遠程地址:
[plain]view plaincopy
$?git?remote?add?origin?git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用戶名和剛才新建的倉庫,加完之后進入.git,打開config,這里會多出一個remote “origin”內容,這就是剛才添加的遠程地址,也可以直接修改config來配置遠程地址。
4.提交、上傳
接下來在本地倉庫里添加一些文件,比如README,
[plain]view plaincopy
$?git?add?README
$?git?commit?-m?"first?commit"
上傳到github:
[plain]view plaincopy
$?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 plaincopy
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的相關使用文章】Git介紹,安裝,Git+Git flow使用:http://my.eoe.cn/fogs/archive/799.html
Git 指令集:http://my.eoe.cn/iceskysl/archive/463.html
在mac上安裝git-flow過程:http://my.eoe.cn/iceskysl/archive/118.html
git fetch 的簡單用法:更新遠程代碼到本地倉庫:http://my.eoe.cn/com360/archive/3533.html
git 如何讓單個文件回退到指定的版本:http://my.eoe.cn/com360/archive/3351.html
如何使用Github上的開源項目:http://my.eoe.cn/fengyiyezi/archive/3427.html
Window(8)下安裝 MSysGit 、gitflow 、GitHub:http://my.eoe.cn/sunxun/archive/158.html
git 打tag:http://my.eoe.cn/xiayang6/archive/446.html
基于Github參與eoe的開源項目指南:http://my.eoe.cn/iceskysl/archive/3195.html
Git stash 使用方法:http://my.eoe.cn/sunxun/archive/190.html
Git tag的使用:http://my.eoe.cn/futurexiong/archive/1943.html
大白話講解如何給github上項目貢獻代碼:http://my.eoe.cn/leigo/archive/3221.html
最后再推薦幾篇社區里介紹知道github使用的帖子:
githup的使用
http://www.eoeandroid.com/thread-272837-1-1.html
Eclipse上GIT插件EGIT使用手冊
http://www.eoeandroid.com/thread-273360-1-1.html
ubuntu下git服務器的搭建
http://www.eoeandroid.com/thread-273167-1-1.html
git , vim , ls 全局配置
http://www.eoeandroid.com/thread-229638-1-1.html
以上希望對大家學習起到積極的作用,一個好的程序猿勢必要學會github的使用。如果本文大家覺得還不錯,就告訴你身邊的朋友吧,如果覺得看得過去那么就分享一下吧,如果覺得有待修改,那么請指出不足并且給打賞幾個e幣。最后感謝百度的無私支持,以及某個人的博客(說真的真的忘了他的地址是啥了),Hello Github。