国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

6.3 維護項目

2018-02-24 15:22 更新

維護項目

現(xiàn)在我們可以很方便地向一個項目貢獻(xiàn)內(nèi)容,來看一下另一個方面的內(nèi)容:創(chuàng)建、維護和管理你自己的項目。

創(chuàng)建新的版本庫

讓我們創(chuàng)建一個版本庫來分享我們的項目。通過點擊面板右側(cè)的“New repository”按鈕,或者頂部工具條你用戶名旁邊的 + 按鈕來開始我們的旅程。 參見 Figure?6-30

Figure 6-30. 這是 “New repository” 下拉列表.

這會帶你到 “new repository” 表單:

“檢出遠(yuǎn)程分支”._ 講到它。如果你愿意,你可以創(chuàng)建并切換到一個主題分支,然后運行這個命令把合并請求合并進來。

還有一些有趣的 URL,像 .diff.patch ,就像你猜的那樣,它們提供 diff 和 patch 的標(biāo)準(zhǔn)版本。你可以技術(shù)性地用下面的方法合并“合并請求”:

$ curl http://github.com/tonychacon/fade/pull/1.patch | git am

在合并請求上進行合作

就像我們在 “GitHub 流程”,_ 說過的,現(xiàn)在你可以跟開啟合并請求的人進行會話。你既可以對某些代碼添加注釋,也可以對整個提交添加注釋或?qū)φ麄€合并請求添加注釋,在任何地方都可以用 GitHub Flavored Markdown。

每次有人在合并請求上進行注釋你都會收到通知郵件,通知你哪里發(fā)生改變。他們都會包含一個到改變位置的鏈接,你可以直接在郵件中對合并請求進行注釋。

“引用規(guī)格” 有更多的細(xì)節(jié)說明。

實際上 GitHub 在服務(wù)器上把合并請求分支視為一種 “假分支”。默認(rèn)情況下你克隆時不會得到它們,但它們還是隱式地存在,你可以很容易地訪問到它們。

為了展示這個,我們要用到一個叫做 ls-remote 的低級命令(通常被叫做“plumbing”,我們會在 “底層命令和高層命令” 讀到更多相關(guān)內(nèi)容)。這個命令在日常 Git 操作中基本不會用到,但在顯示服務(wù)器上有哪些引用(reference)時很管用。

如果在我們之前用過的 “blink” 版本庫上使用這個命令,我們會得到一個版本庫里所有的分支,標(biāo)簽和其它引用(reference)的列表。

$ git ls-remote https://github.com/schacon/blink
10d539600d86723087810ec636870a504f4fee4d    HEAD
10d539600d86723087810ec636870a504f4fee4d    refs/heads/master
6a83107c62950be9453aac297bb0193fd743cd6e    refs/pull/1/head
afe83c2d1a70674c9505cc1d8b7d380d5e076ed3    refs/pull/1/merge
3c8d735ee16296c242be7a9742ebfbc2665adec1    refs/pull/2/head
15c9f4f80973a2758462ab2066b6ad9fe8dcf03d    refs/pull/2/merge
a5a7751a33b7e86c5e9bb07b26001bb17d775d1a    refs/pull/4/head
31a45fc257e8433c8d8804e3e848cf61c9d3166c    refs/pull/4/merge

當(dāng)然,如果你在你自己的版本庫或其它你想檢查的遠(yuǎn)程版本庫中使用 git ls-remote origin ,它會顯示相似的內(nèi)容。

如果版本庫在 GitHub 上并且有打開的合并請求,你會得到一些以 refs/pull/ 開頭的引用。它們實際上是分支,但因為它們不在 refs/heads/ 中,所以正常情況下你克隆時不會從服務(wù)器上得到它們?—?抓取過程正常情況下會忽略它們。

每個合并請求有兩個引用 - 其中以 /head 結(jié)尾的引用指向的提交記錄與合并請求分支中的最后一個提交記錄是同一個。所以如果有人在我們的版本庫中開啟了一個合并請求,他們的分支叫做 bug-fix,指向 a5a775 這個提交記錄,那么在 我們的 版本庫中我們沒有 bug-fix 分支(因為那是在他們的 fork 中),但我們 可以 有一個 pull/<pr#>/head 指向 a5a775。這意味著我們可以很容易地拉取每一個合并請求分支而不用添加一堆 remote。

現(xiàn)在,你可以像直接抓取引用一樣抓取那些分支或提交。

$ git fetch origin refs/pull/958/head
From https://github.com/libgit2/libgit2
 * branch            refs/pull/958/head -> FETCH_HEAD

這告訴 Git: “連接到 origin 這個 remote,下載名字為 refs/pull/958/head 的引用?!盙it 高高興興去執(zhí)行,下載構(gòu)建那個引用需要的所有內(nèi)容,然后把指針指向 .git/FETCH_HEAD 下面你想要的提交記錄。然后你可以用 git merge FETCH_HEAD 把它合并到你想進行測試的分支,但那個合并的提交信息看起來有點怪。然而,如果你需要審查 一大批 合并請求,這樣操作會很麻煩。

還有一種方法可以抓取 所有的 合并請求,并且在你連接到遠(yuǎn)程(remote)的時候保持更新。用你最喜歡的編輯器打開 .git/config ,查找 origin 遠(yuǎn)程(remote)??雌饋聿畈欢嘞裣旅孢@樣:

[remote "origin"]
    url = https://github.com/libgit2/libgit2
    fetch = +refs/heads/*:refs/remotes/origin/*

fetch = 開頭的行是一個 “refspec.”它是一種把 remote 的名稱映射到你本地 .git 目錄的方法。這一條(就是上面的這一條)告訴 Git,“remote 上 refs/heads 下面的內(nèi)容在我本地版本庫中都放在 refs/remotes/origin ?!蹦憧梢园堰@一段修改一下,添加另一個 refspec:

[remote "origin"]
    url = https://github.com/libgit2/libgit2.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

最后一行告訴 Git: “所有看起來像 refs/pull/123/head 的引用應(yīng)該在本地版本庫像 refs/remotes/origin/pr/123 一樣存儲”現(xiàn)在,如果你保存那個文件,執(zhí)行 git fetch

$ git fetch
# …
 * [new ref]         refs/pull/1/head -> origin/pr/1
 * [new ref]         refs/pull/2/head -> origin/pr/2
 * [new ref]         refs/pull/4/head -> origin/pr/4
# …

現(xiàn)在所有的合并請求在本地像分支一樣展現(xiàn),它們是只讀的,當(dāng)你執(zhí)行抓取時它們也會更新。這讓在本地測試合并請求中的代碼變得超級簡單:

$ git checkout pr/2
Checking out files: 100% (3769/3769), done.
Branch pr/2 set up to track remote branch pr/2 from origin.
Switched to a new branch 'pr/2'

你的鷹眼系統(tǒng)會發(fā)現(xiàn)在 refspec 的 remote 部分的結(jié)尾有個 head 。在 GitHub 那邊也有一個 refs/pull/#/merge 引用,它代表的是如果你在網(wǎng)站上按了 “merge” 按鈕對應(yīng)的提交記錄。這甚至讓你可以在按按鈕之前就測試這個合并。

合并請求之上的合并請求

你不僅可以在主分支或者說 master 分支上開啟合并請求,實際上你可以在網(wǎng)絡(luò)上的任何一個分支上開啟合并請求。其實,你甚至可以在另一個合并請求上開啟一個合并請求。

如果你看到一個合并請求在向正確的方向發(fā)展,然后你想在這個合并請求上做一些修改或者你不太確定這是個好主意,或者你沒有目標(biāo)分支的推送權(quán)限,你可以直接在合并請求上開啟一個合并請求。

當(dāng)你開啟一個合并請求時,在頁面的頂端有一個框框顯示你要合并到哪個分支和你從哪個分支合并過來的。如果你點擊那個框框右邊的 “Edit” 按鈕,你不僅可以改變分支,還可以選擇哪個 fork。

Figure 6-38. 輸入 @ 來提醒某人.

你也可以提醒不在列表中的用戶,但是通常自動補全用起更快。

當(dāng)你發(fā)布了一個帶用戶提醒的評論,那個用戶會收到通知。這意味著把人們拉進會話中要比讓他們投票有效率得多。對于 GitHub 上的合并請求,人們經(jīng)常把他們團隊或公司中的其它人拉來審查問題或合并請求。

如果有人收到了合并請求或問題的提醒,他們會"訂閱"它,后面有新的活動發(fā)生他們都會持續(xù)收到提醒。如果你是合并請求或者問題的發(fā)起方你也會被訂閱上,比如你在關(guān)注一個版本庫或者你評論了什么東西。如果你不想再收到提醒,在頁面上有個 “Unsubscribe” 按鈕,點一下就不會再收到更新了。

Figure 6-40. 通知中心選項.

有兩個選項,通過"郵件(Email)"和通過"網(wǎng)頁(Web)",你可以選用一個或者都不選或者都選。

網(wǎng)頁通知

網(wǎng)頁通知只在 GitHub 上存在,你也只能在 GitHub 上查看。如果你打開了這個選項并且有一個你的通知,你會在你屏幕上方的通知圖標(biāo)上看到一個小藍(lán)點。參見 Figure?6-41

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號