1. 程式人生 > >【Github教程】史上最全github使用方法:github入門到精通

【Github教程】史上最全github使用方法:github入門到精通

【初識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的簡單教程。

註冊為GitHub使用者:

  1. 訪問:https://github.com/。

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

  2. 選擇右上角的sign up:

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

  3. 填寫相關資訊進行註冊:

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

簡單的配置

  1. 註冊完畢登陸成功之後。選擇settings進行基本資料的一些設定。

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

  2. 這個主頁的話,你就可以這樣得到:

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

  3. 這個地址就是專屬於你的主頁地址。你可以把他寫到自己的簡歷上,提升逼格。

如何查詢學習別人的程式碼:

  1. 開啟github的主頁。在上方搜尋框輸入自己要搜尋的專案。例如:

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

  2. 搜尋一下著名的lucene專案顯示如下:

    GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

上傳自己的程式碼進行版本控制

作為新手我們可以下載github的客戶端進行使用。下載地址:https://desktop.github.com/

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

安裝之後開啟軟體:登入自己的帳號:如圖:

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

新增自己的專案:官方叫做程式碼倉庫。

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

可以在專案上點選右鍵,開啟程式碼倉庫所在目錄。

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

我們把程式碼放到此目錄下就可以進行程式碼的提交了。例如我們新建一個first.txt。把他提交到master分支。

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

master分支就是整個專案的根節點。

每次程式碼寫完畢可以點選提交到github。

GitHub這麼火,程式設計師你不學學嗎? 超簡單入門教程 乾貨

此時開啟我們的github,會發現倉庫中,產生了一個我們建立的專案。

2.安裝git

[[email protected] ~]# yum -y install git
檢視是否已安裝成功
  1. [[email protected] ~]# git

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

如果是第一次的會提示是否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.  ssh -T [email protected] 

在伺服器新增完公鑰後報錯

1 sign_and_send_pubkey: signing failed: agent refused operation

  這個時候我們只要執行下

2 eval "$(ssh-agent -s)" ssh-add

  就可以了

進入要上傳的倉庫,右鍵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,這些下面的部落格中有詳細講解。

參考資料:

```