大牛Git教程

【初識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?

  1. 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?

  1. $ 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?

  1. $ git config --global user.name "your name"  

  2. $ git config --global user.email "[email protected]"  



進入要上傳的倉庫,右鍵git bash,添加遠程地址:

[plain] view plain copy print?

  1. $ git remote add origin [email protected]:yourName/yourRepo.git  



後面的yourName和yourRepo表示你再github的用戶名和剛纔新建的倉庫,加完之後進入.git,打開config,這裏會多出一個remote “origin”內容,這就是剛纔添加的遠程地址,也可以直接修改config來配置遠程地址。

4.提交、上傳

接下來在本地倉庫裏添加一些文件,比如README,

[plain] view plain copy print?

  1. $ git add README  

  2. $ git commit -m "first commit"  



上傳到github:

[plain] view plain copy print?

  1. $ 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?

  1. bin  

  2. *.suo  

  3. 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。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章