簡介
GitHub是一個通過Git進行版本控制的軟件源代碼托管服務,由GitHub公司(曾稱Logical Awesome)的開發者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails編寫而成。
GitHub同時提供付費賬戶和免費賬戶。這兩種賬戶都可以創建公開的代碼倉庫,但是付費賬戶還可以創建私有的代碼倉庫。根據在2009年的Git用戶調查,GitHub是最流行的Git訪問站點.
除了允許個人和組織創建和訪問保管中的代碼以外,它也提供了一些方便社會化共同軟件開發的功能,即一般人口中的社區功能,包括允許用戶追蹤其他用戶、組織、軟件庫的動態,對軟件代碼的改動和bug提出評論等。GitHub也提供了圖表功能,用于概觀顯示開發者們怎樣在代碼庫上工作以及軟件的開發活躍程度。
截止到2015年,GitHub已經有超過九百萬注冊用戶和2110萬代碼庫。
事實上已經成為了世界上最大的代碼存放網站和開源社區
更多:維基百科
開始使用GitHub
本文是我對于官方文檔:Hello World 的翻譯。
Hello World 項目是計算機編程中一個歷史悠久的傳統。 這是一個在你開始學習新東西時候的簡單練習。 讓我們開始使用GitHub吧!
您將學會:
- 創建和使用存儲庫(repository);
- 啟動和管理新分支(branch);
- 對文件進行更改并將其推送提交(commit)到GitHub ;
- 打開并合并一個Pull請求。
什么是GitHub?
GitHub是用于版本控制和協作的代碼托管平臺。 它可以讓你和其他人在任何地方協同工作同一個項目。
本教程教你GitHub的要素,如倉庫(repositories),分支(branches),提交(commits) 和Pull請求。 您將創建自己的Hello World 項目存儲庫,并學習GitHub的Pull Request工作流程,這是一種流行的創建和審查代碼的方法。
無需編碼
要完成本教程,您需要一個GitHub帳戶和可以連接的Internet網絡。 您不需要知道如何編碼,使用命令行,或安裝Git(GitHub的版本控制軟件被建立于此)。
提示:在單獨的瀏覽器窗口(或選項卡)中打開此指南,以便在完成教程中的步驟時可以看到它。
步驟1.創建存儲庫(Repository)
存儲庫(repository)通常用于組織單個項目。 存儲庫可以包含文件夾和文件,圖像,視頻,電子表格和數據集 - 即項目需要的任何內容。 我們建議您包括一個README文件,或包含有關您的項目信息的文件。 GitHub使得在創建新存儲庫的同時添加一個README文件很容易實現。 它還提供其他常見選項,如許可證文件。
你的 hello-world
存儲庫 可以是一個你存儲想法,資源,甚至與他人分享和討論內容的地方。
創建新存儲庫(Repository)
- 在右上角,在您的頭像或識別碼旁邊,單擊 + 然后選擇“Create new...”。
- 命名您的存儲庫名稱為
hello-world
。 - 寫一個簡短的描述(description)。
- 勾選 Initialize this repository with a README(使用README初始化此存儲庫。)
[圖片上傳失敗...(image-7fa7f1-1513732778552)]
點擊 Create repository(創建存儲庫)。
步驟2.創建分支(Branch)
分支(Branching) 是同時在同一個存儲庫中創建不同版本的方式。
默認情況下,你的倉庫有一個名稱為master
的分支,它被認為是最終分支。 我們使用分支進行實驗和編輯,然后將分支提交到master
。
當您在主master
分支上創建分支時,您就創建了主master
節點在該時間點的副本或快照。 如果有人在您在分支上工作時對主master
分支進行了更改,你就可以提取這些更新。
此圖顯示:
- 主分支 The
master
branch - 一個新的分支稱之為 映像(
feature
)(因為我們在這個分支上做“映像工作”) - 在映像(
feature
)被合并到主master
分支上的旅程
[圖片上傳失敗...(image-b704e5-1513732778552)]
你曾經保存過一個文件的不同版本嗎? 就像是:
- story.txt
- story-joe-edit.txt
- story-joe-edit-reviewed.txt
分支(Branch) 在GitHub存儲庫中實現類似的目標。
在GitHub上,我們的開發人員,作家和設計師使用分支來保持錯誤的修復和功能工作在獨立于我們的主(產品)分支上。 當更改準備就緒時,它們將其分支合并到主master()節點上。
創建一個新的分支
- 進入您的新存儲庫
hello-world
。 - 單擊文件列表頂部叫做 branch:master 的下拉列表。
- 在新分支文本框中鍵入分支名稱readme-edits。
- 選擇藍色的 Create branch 框或按鍵盤上的“Enter”。
[圖片上傳失敗...(image-900a77-1513732778552)]
現在你有兩個分支,master
和readme-edits
。 他們看起來完全一樣,但不長久! 接下來,我們將把更改添加到新分支。
步驟3.制作并提交更改
哇哦! 現在,你在readme-edits
分支的代碼視圖上,這是master
的副本。 讓我們做一些編輯。
在GitHub上,保存的更改稱為提交(commit)。 每個提交都有一個相關的提交消息,這是一個描述為什么進行特定更改的描述。 提交消息會捕獲您更改的歷史記錄,因此其他參與者可以了解您的操作以及原因。
制作并提交更改
- 單擊
README.md
文件。 - 在文件視圖的右上角單擊?鉛筆圖標編輯。
- 在編輯器中,寫一點關于你自己的東西。
- 編寫提交消息來描述您的更改的內容。
- 單擊 Commit changes 提交更改按鈕。
[圖片上傳失敗...(image-8c610f-1513732778552)]
這些更改將只發生在readme-edits
分支上的README文件,因此現在此分支包含的內容與master
不同。
步驟4.開啟拉取請求(Pull Request)
干得漂亮! 現在,您在master
的分支中有更改,您可以開啟拉取請求了。
Pull Request 請求是GitHub協作的核心。 當您開啟拉取請求時,您就會提出您的更改和請求,并要求某人審核并提交您的貢獻,并將其合并到他們的分支中。 拉取請求會顯示來自兩個分支的內容的差異或差異。 更改,添加和減少以綠色和紅色顯示。
一旦提交(commit)以后,您就可以開啟一個拉取請求(Pull Request)并,在代碼完成之前展開討論。
通過在您的請求消息中使用GitHub的@提醒系統,您可以請求特定人員或團隊的反饋,無論他們是在大廳還是在10個時區以外。
您甚至可以在您自己的存儲庫中開啟拉取請求并自行合并它們。 這是一個在更大的項目之前學習GitHub流的偉大的方式。
開啟一個對README的更改的Pull Requset
點擊圖片獲得更大的版本
步驟 | 截圖 |
---|---|
單擊 Pull Requset 選項卡,然后在拉請求頁面,單擊綠色的 New pull request 按鈕。 | [圖片上傳失敗...(image-eae31e-1513732778552)] |
選擇您所做的分支readme-edits ,以與master (原始)進行比較。 |
[圖片上傳失敗...(image-92ee70-1513732778552)] |
查看比較頁面上的差異更改,確保它們是您要提交的內容。 | [圖片上傳失敗...(image-72991b-1513732778552)] |
當您確定這些是您要提交的更改時,單擊大的綠色“Create Pull Request”按鈕。 | [圖片上傳失敗...(image-45bab3-1513732778552)] |
給你的Pull Request寫一個標題,并寫一個簡短的描述你的更改。 | [圖片上傳失敗...(image-870051-1513732778552)] |
當你完成填寫以上信息后,點擊 Create pull request。
步驟5.合并(merge)您的請求
在這最后一步,是時候把你的更改放在一起了 - 合并你的readme-edits
分支到master
分支。
- 單擊綠色Merge pull request按鈕將更改合并到
master
中。
[圖片上傳失敗...(image-fc048d-1513732778552)] - 單擊確認合并(Confirm merge)。
- 繼續并刪除分支,因為它的更改已被合并,刪除分支(Delete branch)按鈕在紫色框中。
[圖片上傳失敗...(image-9a4969-1513732778552)]
恭喜
通過完成本教程,您已經學會了創建一個項目,并在GitHub上發出pull request了
!
這里是你在本教程中完成的:
- 創建了一個開源庫
- 開始和管理一個新的分支
- 更改了一個文件并將這些更改提交給GitHub
- 開啟并合并一個Pull Request
看看你的GitHub個人資料,你會看到你的新貢獻方塊!
如果您想了解有關Pull Request的更多功能,我們建議您閱讀GitHub Flow Guide。 您還可以訪問GitHub探索并參與開源項目.
提示:請參閱我們的其他指南和YouTube頻道,了解更多GitHub操作方法。
參考
- Git Cheat Sheet 中文版
- Git 的使用感受 @唐巧
- Git 常用命令
- 怎樣在Github上面貢獻代碼 @lark
- Git及GitHub快速入門圖文全面詳解(30分鐘學會)
- GitFlow ??????
遇到的問題
最后更新:20190105