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

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 plaincopyprint?
  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 plaincopyprint?
  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 plaincopyprint?
  1. $ git config --global user.name "your name"  
  2. $ git config --global user.email "[email protected]"  

進入要上傳的倉庫,右鍵git bash,新增遠端地址:

[plain] view plaincopyprint?
  1. $ git remote add origin [email protected]:yourName/yourRepo.git  

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

4.提交、上傳

接下來在本地倉庫裡新增一些檔案,比如README,

[plain] view plaincopyprint?
  1. $ git add README  
  2. $ git commit -m "first commit"  

上傳到github:

[plain] view plaincopyprint?
  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 plaincopyprint?
  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的相關使用文章】











相關推薦

Github教程github使用方法github入門精通之三

GitHub已經成為的一切開放原始碼軟體的基石。開發人員喜歡它,基於它進行協作,並不斷通過它開發令人驚歎的專案。除了​​程式碼託管,GitHub的主要吸引力是使用它作為一個協作開發工具。在本教程中,讓我們來看看一些最有用的GitHub的功能,特別是使團隊工作更有效率,更高生產力,非常重要的,好玩的那

Github教程github使用方法github入門精通之二

註冊賬戶以及建立倉庫 要想使用github第一步當然是註冊github賬號了, github官網地址:https://github.com/。 之後就可以建立倉庫了(免費使用者只能建公共倉庫),Create a New Repository,填好名稱後Create,之後會出現一些倉庫的配置資訊,這

Github教程github使用方法github入門精通之一

【初識Github】 首先讓我們大家一起喊一句“Hello Github”。YEAH!就是這樣。 Git是一個分散式的版本控制系統,最初由Linus Torvalds編寫,用作Linux核心程式碼的管理。在推出後,Git在其它專案中也取得了很大成功,尤其是在Ruby社群中。目前,包括Ru

Github教程github使用方法github入門精通

【初識Github】 首先讓我們大家一起喊一句“Hello Github”。YEAH!就是這樣。 Git是一個分散式的版本控制系統,最初由Linus Torvalds編寫,用作Linux核心程式碼的管理。在推出後,Git在其它專案中也取得了很大成功,尤其是在Ru

Github教程github使用方法github入門精通

【初識Github】 首先讓我們大家一起喊一句“Hello Github”。YEAH!就是這樣。Git是一個分散式的版本控制系統,最初由Linus Torvalds編寫,用作Linux核心程式碼的管理。在推出後,Git在其它專案中也取得了很大成功,尤其是在Ruby社群中

34張IT架構師技術知識圖譜

1.1 架構師圖譜 1.2 Java架構師圖譜 1.3 微服務架構祕籍 1.4 一致性圖譜 1.5 網際網路大流量的方法 1.6 安全祕籍 1.7 阿里巴巴常用小框架 1.8 架構方法論圖譜 1.9 設計模式祕籍圖譜 二 2.1 JVM虛

免費領取的web前端學習教程彙總!

文末有前端系統學習資料領取地址!(點選左下方黑色字型‘閱讀原文’)進群領取,每天分享價值500左右的教程。 第一階段:HTML+CSS HTML進階、CSS進階、div+css佈局、HTML+css整站開發、 JavaScript基礎:js基礎教程、js內建物件常用方法、常見DOM樹操作大全、EC

書籍學習的Java進階書籍推薦

學習Java,書籍是必不可少的學習工具之一,尤其是對於自學者而言。廢話不多說,下邊就給大家推薦一些Java進階的好書。 第一部分:Java語言篇 1.《Java程式設計規範》 適合物件:初級、中級 介紹:這本書的作者是被譽為Java之父的James Gosling,入門

備忘 18套 IOS 專案實戰 下載

09-【遊戲開發】千峰-憤怒的小鳥-2015-07-08 23:4904-【專案實戰】飛盒-仿淘寶客戶端專案-2015-07-08 23:4903-【專案實戰】飛盒-筆記本專案-2015-07-08 23:4902-【專案實戰】ios實戰-2015-07-08 23:490

的Java並發面試題珍藏版

其它 優勢 空閑 null 基本操作 try web 任務 最好的 多線程 java中有幾種方法可以實現一個線程? 繼承Thread類; 實現Runnable接口; 實現Callable接口通過FutureTask包裝器來創建Thread線程; 使用ExecutorSe

maven教程,看了必懂

一、為什麼使用Maven這樣的構建工具【why】 一個專案就是一個工程 如果專案非常龐大,就不適合使用package來劃分模

轉載TensorFlow 好玩的技術、應用和你不知道的黑科技

tube map 高性能 知識 seq 出現 執行時間 mes lex 【導讀】TensorFlow 在 2015 年年底一出現就受到了極大的關註,經過一年多的發展,已經成為了在機器學習、深度學習項目中最受歡迎的框架之一。自發布以來,TensorFlow 不斷在完善並增加新

重磅來襲系列二NB-IoT技術方面的系列問題和聯盟答案

zdb 史上最全 post lnl gyb nb-iot技術 dsd cxx target 1p賀新艙jp蔔裝鏈5f杖家醞http://bgjxld.wikidot.com/nv涯匱巴zt凹舷感9a溫悠舊http://zmzjsz.wikidot.com/lx猶鍁匭3d拭謨

Books的Java進階書籍推薦

【轉載】 學習Java,書籍是必不可少的學習工具之一,尤其是對於自學者而言。廢話不多說,下邊就給大家推薦一些Java進階的好書。 第一部分:Java語言篇 1.《Java程式設計規範》 適合物件:初級、中級 介紹:這本書的作者是被譽為Java之父的James Gosling,

乾貨的Tensorflow學習資源彙總

  轉自 |  磐創AI 作者 |  AI小昕   在之前的Tensorflow系列文章中,我們教大家學習了Tensorflow的安裝、Tensorflow的語法、基本操作、CNN的一些原理和專案實戰等。本篇文

資源資料集彙總

無論是資料探勘還是目前大熱的深度學習,都離不開“大資料”。大公司們一般會有自己的資料,但對於創業

重磅來襲系列三NB-IoT產業鏈方面的系列問題清單和聯盟答案

系列一中,我們分享了運營商部署NB-IoT的系列問題清單和聯盟答案,今天,小編不按常理出牌,即將分享物聯網各垂直應用領域裡,NB-IoT技術的部署,看看適合NB-IoT技術的垂直應用場景有哪些?垂直應用服務商又該如何部署?   3.1 NB-IoT適合的垂直應用場景有哪些?

Linux的Find命令

Find 功能說明:查詢檔案或目錄。 語  法:find (-$) 參  數 && 說  明: [目錄.

Bootstrap 3從基礎入門到實戰開發教程大合集

 課程目錄01_Bootstrap 3 基礎教程02_Bootstrap 3 進階教程03_Bootstrap 3 使用者介面架構04_Bootstrap 3 視訊教程應用例項05_Bootstrap 3 綜合實戰06_Bootstrap 3 相關文件07_Bootstrap

Java學習教程面的Java學習路線圖

今天在知乎上看到黑馬程式設計師一位老師整理的程式設計學習路線圖好,現在已經授權轉載到部落格中,希望可以幫助到各位學習的小夥伴!今天分享的是這位老師的java學習路線圖,目前已經有50多萬閱讀,3000多點贊,300多評論! 先放一張學習路線圖: 此套學習分六大階段,