<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 remote add origin https://github.com/schacon/simplegit-progit ~~~ 上述命令會在你的?`.git/config`?文件中添加一個小節,并在其中指定遠程版本庫的名稱(`origin`)、URL 和一個用于獲取操作的引用規格(refspec): ~~~ [remote "origin"] ~~~ 引用規格的格式由一個可選的?`+`?號和緊隨其后的?`<src>:<dst>`?組成,其中?`<src>`?是一個模式(pattern),代表遠程版本庫中的引用;`<dst>`?是那些遠程引用在本地所對應的位置。?`+`?號告訴 Git 即使在不能快進的情況下也要(強制)更新引用。 默認情況下,引用規格由?`git remote add`?命令自動生成, Git 獲取服務器中?`refs/heads/`下面的所有引用,并將它寫入到本地的?`refs/remotes/origin/`?中。 所以,如果服務器上有一個?`master`?分支,我們可以在本地通過下面這種方式來訪問該分支上的提交記錄: ~~~ $ git log origin/master $ git log remotes/origin/master $ git log refs/remotes/origin/master ~~~ 上面的三個命令作用相同,因為 Git 會把它們都擴展成?`refs/remotes/origin/master`。 如果想讓 Git 每次只拉取遠程的?`master`?分支,而不是所有分支,可以把(引用規格的)獲取那一行修改為: ~~~ fetch = +refs/heads/master:refs/remotes/origin/master ~~~ 這僅是針對該遠程版本庫的?`git fetch`?操作的默認引用規格。 如果有某些只希望被執行一次的操作,我們也可以在命令行指定引用規格。 若要將遠程的?`master`?分支拉到本地的`origin/mymaster`?分支,可以運行: ~~~ $ git fetch origin master:refs/remotes/origin/mymaster ~~~ 你也可以指定多個引用規格。 在命令行中,你可以按照如下的方式拉取多個分支: ~~~ $ git fetch origin master:refs/remotes/origin/mymaster \ topic:refs/remotes/origin/topic From git@github.com:schacon/simplegit ! [rejected] master -> origin/mymaster (non fast forward) * [new branch] topic -> origin/topic ~~~ 在這個例子中,對?`master`?分支的拉取操作被拒絕,因為它不是一個可以快進的引用。 我們可以通過在引用規格之前指定?`+`?號來覆蓋該規則。 你也可以在配置文件中指定多個用于獲取操作的引用規格。 如果想在每次獲取時都包括?`master`?和`experiment`?分支,添加如下兩行: ~~~ [remote "origin"] ~~~ 我們不能在模式中使用部分通配符,所以像下面這樣的引用規格是不合法的: ~~~ fetch = +refs/heads/qa*:refs/remotes/origin/qa* ~~~ 但我們可以使用命名空間(或目錄)來達到類似目的。 假設你有一個 QA 團隊,他們推送了一系列分支,同時你只想要獲取?`master`?和 QA 團隊的所有分支而不關心其他任何分支,那么可以使用如下配置: ~~~ [remote "origin"] ~~~ 如果項目的工作流很復雜,有 QA 團隊推送分支、開發人員推送分支、集成團隊推送并且在遠程分支上展開協作,你就可以像這樣(在本地)為這些分支創建各自的命名空間,非常方便。 ## 引用規格推送 像上面這樣從遠程版本庫獲取已在命名空間中的引用當然很棒,但 QA 團隊最初應該如何將他們的分支放入遠程的?`qa/`?命名空間呢? 我們可以通過引用規格推送來完成這個任務。 如果 QA 團隊想把他們的?`master`?分支推送到遠程服務器的?`qa/master`?分支上,可以運行: ~~~ $ git push origin master:refs/heads/qa/master ~~~ 如果他們希望 Git 每次運行?`git push origin`?時都像上面這樣推送,可以在他們的配置文件中添加一條?`push`?值: ~~~ [remote "origin"] ~~~ 正如剛才所指出的,這會讓?`git push origin`?默認把本地?`master`?分支推送到遠程`qa/master`?分支。 ## 刪除引用 你還可以借助類似下面的命令通過引用規格從遠程服務器上刪除引用: ~~~ $ git push origin :topic ~~~ 因為引用規格(的格式)是?`<src>:<dst>`,所以上述命令把?`<src>`?留空,意味著把遠程版本庫的?`topic`?分支定義為空值,也就是刪除它。
                  <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>

                              哎呀哎呀视频在线观看