<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 教程 - 合并有沖突的改變 在[合并](/wiki/ChineseTutorialMerge)中我們已經學會了如何處理簡單的[Merge](/wiki/Merge)。 [Mercurial](/wiki/Mercurial)當然也處理更加復雜的 [Merge](/wiki/Merge)。很平常的情況是兩個人同時更改同一個文件的同一段代碼,然后必須給出處理的方法。這稱之為沖突;處理這類沖突稱之為合并。 首先讓我們人為的創建一個沖突的實例。 正如我們前面所做的, 通過做一個`my-hello`的[Clone](/wiki/Clone)開始: ``` $ cd .. $ hg clone my-hello my-hello-not-cvs ``` 現在,加入一些新的輸出語句到hello.c: ``` $ cd my-hello-not-cvs $ vi hello.c ``` 改變 `main` 如下所示: ``` int main(int argc, char **argv) { printf("hello, world!\n"); printf("sure am glad I'm not using CVS!\n"); return 0; } ``` 然后 [Commit](/wiki/Commit) 這些改變: ``` $ hg commit -m 'Give thanks for dodging bullet' ``` 正如[第一次改變](/wiki/ChineseTutorialFirstChange)那樣,我們在`my-hello-new-output`里建立了一個[變更集](/wiki/ChangeSet),`my-hello-new-output`包含了第二輸出行。如果這時我們使用[Pull](/wiki/Pull)指令時,會發生什么事情呢? ``` $ hg pull ../my-hello-new-output pulling from ../my-hello-new-output searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg update' to get a working copy) ``` 到目前為止,非常順利。 讓我們試試 [Update](/wiki/Update)。 ``` $ hg update this update spans a branch affecting the following files: hello.c (resolve) aborting update spanning branches! (use 'hg merge' to merge across branches or 'hg update -C' to lose changes) ``` 正如[合并](/wiki/ChineseTutorialMerge)那樣,我們不得不運行 `hg?merge`. 像往前一樣, 合并程序將被啟動。經常是不能自動合并,因為同樣源文件的相同的代碼在每個[ChangeSet](/wiki/ChangeSet)中被不同的方式更改(一個是我們提交的更改方式,一個是我們[Pull]來的)。 ``` $ hg merge ``` 這時,會發生什么決定于電腦中安裝了什么樣的程序。 如果我們有先見之明或者幸運的話, 并且安裝了圖形的合并程序,我們就能夠看到在兩個更改之間發生了什么沖突,并決定如何去做。 [Mercurial](/wiki/Mercurial) 使用了三路合并。 這就意味著有三個文件來做合并,分別是: * 本地文件(當前倉庫) * 其它文件(正在被合并的倉庫) * 基文件 (在分支分開前的最后一個版本) 要了解更多的三路合并, 請參考[ThreeWayMerge](http://revctrl.org/ThreeWayMerge) on the [Revctrl wiki](http://revctrl.org/). 另外,如果我們沒有安裝圖形合并程序, 我們就會開啟文本編輯器來訪問需要合并的文件。用手工來做這些事情是**非常**容易出錯并且繁瑣的。 最好是退出編輯器并用`hg?rollback`指令來清除["Pull"]帶來的改變,然后安裝合并程序,再做一次。 (注意: Mercurial 0.9之前的版本,"hg merge" 必須使用 "hg update -m"代替,"hg rollback" 必須用 "hg undo" 代替。) 現在讓我們繼續并在[總結](/wiki/ChineseTutorialConclusion)中完成我們的教程。
                  <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>

                              哎呀哎呀视频在线观看