<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                如果不想經歷自己架設 Git 服務器的麻煩,網絡上有幾個專業的倉庫托管服務可供選擇。這樣做有幾大優點:托管賬戶的建立通常比較省時,方便項目的啟動,而且不涉及服務器的維護和監控。即使內部創建并運行著自己的服務器,同時為開源項目提供一個公共托管站點還是有好處的 — 讓開源社區更方便地找到該項目,并給予幫助。 目前,可供選擇的托管服務數量繁多,各有利弊。在 Git 官方 wiki 上的 Githosting 頁面有一個最新的托管服務列表: `https://git.wiki.kernel.org/index.php/GitHosting` 由于本書無法全部一一介紹,而本人(譯注:指本書作者 Scott Chacon。)剛好在其中一家公司工作,所以接下來我們將會介紹如何在 GitHub 上建立新賬戶并啟動項目。至于其他托管服務大體也是這么一個過程,基本的想法都是差不多的。 GitHub 是目前為止最大的開源 Git 托管服務,并且還是少數同時提供公共代碼和私有代碼托管服務的站點之一,所以你可以在上面同時保存開源和商業代碼。事實上,本書就是放在 GitHub 上合作編著的。(譯注:本書的翻譯也是放在 GitHub 上廣泛協作的。) ## GitHub GitHub 和大多數的代碼托管站點在處理項目命名空間的方式上略有不同。GitHub 的設計更側重于用戶,而不是完全基于項目。也就是說,如果我在 GitHub 上托管一個名為 grit 的項目的話,它的地址不會是 github.com/grit,而是按在用戶底下 github.com/shacon/grit (譯注:本書作者 Scott Chacon 在 GitHub 上的用戶名是 shacon。)。不存在所謂某個項目的官方版本,所以假如第一作者放棄了某個項目,它可以無縫轉移到其它用戶的名下。 GitHub 同時也是一個向使用私有倉庫的用戶收取費用的商業公司,但任何人都可以方便快捷地申請到一個免費賬戶,并在上面托管數量不限的開源項目。接下來我們快速介紹一下 GitHub 的基本使用。 ## 建立新賬戶 首先注冊一個免費賬戶。訪問 `"Plans and pricing" `頁面 `https://github.com/pricing` 并點擊 Free acount 里的 Sign Up 按鈕(見圖 4-2),進入注冊頁面。 ![2015-05-19/555ad7e08c884](https://box.kancloud.cn/2015-05-19_555ad7e08c884.png) 圖 4-2. GitHub 服務簡介頁面 選擇一個系統中尚未使用的用戶名,提供一個與之相關聯的電郵地址,并輸入密碼(見圖 4-3): ![2015-05-19/555ad7fa995b2](https://box.kancloud.cn/2015-05-19_555ad7fa995b2.png) 圖 4-3. GitHub 用戶注冊表單 如果方便,現在就可以提供你的 SSH 公鑰。我們在前文的"小型安裝" 一節介紹過生成新公鑰的方法。把新生成的公鑰復制粘貼到 SSH Public Key 文本框中即可。要是對生成公鑰的步驟不太清楚,也可以點擊 `"explain ssh keys"` 鏈接,會顯示各個主流操作系統上完成該步驟的介紹。 點擊 `"I agree,sign me up" `按鈕完成用戶注冊,并轉到該用戶的 dashboard 頁面(見圖 4-4): ![2015-05-19/555ad81448420](https://box.kancloud.cn/2015-05-19_555ad81448420.png) 圖 4-4. GitHub 的用戶面板 接下來就可以建立新倉庫了。 ## 建立新倉庫 點擊用戶面板上倉庫旁邊的 "create a new one" 鏈接,顯示 Create a New Repository 的表單(見圖 4-5): ![2015-05-19/555ad82c02134](https://box.kancloud.cn/2015-05-19_555ad82c02134.png) 圖 4-5. 在 GitHub 上建立新倉庫 當然,項目名稱是必不可少的,此外也可以適當描述一下項目的情況或者給出官方站點的地址。然后點擊 `"Create Repository"` 按鈕,新倉庫就建立起來了(見圖 4-6): ![2015-05-19/555ad8359ff23](https://box.kancloud.cn/2015-05-19_555ad8359ff23.png) 圖 4-6. GitHub 上各個項目的概要信息 由于尚未提交代碼,點擊項目地址后 GitHub 會顯示一個簡要的指南,告訴你如何新建一個項目并推送上來,如何從現有項目推送,以及如何從一個公共的 Subversion 倉庫導入項目(見圖 4-7): ![2015-05-19/555ad83ec5bf2](https://box.kancloud.cn/2015-05-19_555ad83ec5bf2.png) 圖 4-7. 新倉庫指南 該指南和本書前文介紹的類似,對于新的項目,需要先在本地初始化為 Git 項目,添加要管理的文件并作首次提交: ~~~ $ git init $ git add . $ git commit -m 'initial commit' ~~~ 然后在這個本地倉庫內把 GitHub 添加為遠程倉庫,并推送 master 分支上來: ~~~ $ git remote add origin git@github.com:testinguser/iphone_project.git $ git push origin master ~~~ 現在該項目就托管在 GitHub 上了。你可以把它的 URL 分享給每位對此項目感興趣的人。本例的 URL 是 h`ttp://github.com/testinguser/iphone_project`。而在項目頁面的摘要部分,你會發現有兩個 Git URL 地址(見圖 4-8): ![2015-05-19/555ad859703a5](https://box.kancloud.cn/2015-05-19_555ad859703a5.png) 圖 4-8. 項目摘要中的公共 URL 和私有 URL Public Clone URL 是一個公開的,只讀的 Git URL,任何人都可以通過它克隆該項目。可以隨意散播這個 URL,比如發布到個人網站之類的地方等等。 Your Clone URL 是一個基于 SSH 協議的可讀可寫 URL,只有使用與上傳的 SSH 公鑰對應的密鑰來連接時,才能通過它進行讀寫操作。其他用戶訪問該項目頁面時只能看到之前那個公共的 URL,看不到這個私有的 URL。 ## 從 Subversion 導入項目 如果想把某個公共 `Subversion `項目導入 `Git,GitHub `可以幫忙。在指南的最后有一個指向導入 Subversion 頁面的鏈接。點擊它會看到一個表單,包含有關導入流程的信息以及一個用來粘貼公共 Subversion 項目連接的文本框(見圖 4-9): ![2015-05-19/555ad86be57ac](https://box.kancloud.cn/2015-05-19_555ad86be57ac.png) 圖 4-9. Subversion 導入界面 如果項目很大,采用非標準結構,或者是私有的,那就無法借助該工具實現導入。到第 7 章,我們會介紹如何手工導入復雜工程的具體方法。 ## 添加協作開發者 現在把團隊里的其他人也加進來。如果 John,Josie 和` Jessica `都在 GitHub 注冊了賬戶,要賦予他們對該倉庫的推送權限,可以把他們加為項目協作者。這樣他們就可以通過各自的公鑰訪問我的這個倉庫了。 點擊項目頁面上方的 "edit" 按鈕或者頂部的 Admin 標簽,進入該項目的管理頁面(見圖 4-10): ![2015-05-19/555ad878e09a1](https://box.kancloud.cn/2015-05-19_555ad878e09a1.png) 圖 4-10. GitHub 的項目管理頁面 為了給另一個用戶添加項目的寫權限,點擊 `"Add another collaborator" `鏈接,出現一個用于輸入用戶名的表單。在輸入的同時,它會自動跳出一個符合條件的候選名單。找到正確用戶名之后,點 Add 按鈕,把該用戶設為項目協作者(見圖 4-11): ![2015-05-19/555ad8818f7b1](https://box.kancloud.cn/2015-05-19_555ad8818f7b1.png) 圖 4-11. 為項目添加協作者 添加完協作者之后,就可以在 Repository Collaborators 區域看到他們的名單(見圖 4-12): ![2015-05-19/555ad88a31a52](https://box.kancloud.cn/2015-05-19_555ad88a31a52.png) 圖 4-12. 項目協作者名單 如果要取消某人的訪問權,點擊 "revoke" 即可取消他的推送權限。對于將來的項目,你可以從現有項目復制協作者名單,或者直接借用協作者群組。 ## 項目頁面 在推送或從 Subversion 導入項目之后,你會看到一個類似圖 4-13 的項目主頁: ![2015-05-19/555ad897dea17](https://box.kancloud.cn/2015-05-19_555ad897dea17.png) 圖 4-13. GitHub 上的項目主頁 別人訪問你的項目時看到的就是這個頁面。它有若干導航標簽,Commits 標簽用于顯示提交歷史,最新的提交位于最上方,這和 git log 命令的輸出類似。Network 標簽展示所有派生了該項目并做出貢獻的用戶的關系圖譜。Downloads 標簽允許你上傳項目的二進制文件,提供下載該項目各個版本的 tar/zip 包。Wiki 標簽提供了一個用于撰寫文檔或其他項目相關信息的 wiki 站點。Graphs 標簽包含了一些可視化的項目信息與數據。默認打開的 Source 標簽頁面,則列出了該項目的目錄結構和概要信息,并在下方自動展示 README 文件的內容(如果該文件存在的話),此外還會顯示最近一次提交的相關信息。 ## 派生項目 如果要為一個自己沒有推送權限的項目貢獻代碼,GitHub 鼓勵使用派生(fork)。到那個感興趣的項目主頁上,點擊頁面上方的 "fork" 按鈕,GitHub 就會為你復制一份該項目的副本到你的倉庫中,這樣你就可以向自己的這個副本推送數據了。 采取這種辦法的好處是,項目擁有者不必忙于應付賦予他人推送權限的工作。隨便誰都可以通過派生得到一個項目副本并在其中展開工作,事后只需要項目維護者將這些副本倉庫加為遠程倉庫,然后提取更新合并即可。 要派生一個項目,到原始項目的頁面(本例中是 mojombo/chronic)點擊 "fork" 按鈕(見圖 4-14): ![2015-05-19/555ad8a67e82c](https://box.kancloud.cn/2015-05-19_555ad8a67e82c.png) 圖 4-14. 點擊 "fork" 按鈕獲得任意項目的可寫副本 幾秒鐘之后,你將進入新建的項目頁面,會顯示該項目派生自哪一個項目(見圖 4-15): ![2015-05-19/555ad8ae01d1b](https://box.kancloud.cn/2015-05-19_555ad8ae01d1b.png) 圖 4-15. 派生后得到的項目副本 ## GitHub 小結 關于 GitHub 就先介紹這么多,能夠快速達成這些事情非常重要(譯注:門檻的降低和完成基本任務的簡單高效,對于推動開源項目的協作發展有著舉足輕重的意義。)。短短幾分鐘內,你就能創建一個新賬戶,添加一個項目并開始推送。如果項目是開源的,整個龐大的開發者社區都可以立即訪問它,提供各式各樣的幫助和貢獻。最起碼,這也是一種 Git 新手立即體驗嘗試 Git 的捷徑。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看