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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                一個Git倉庫可以維護很多開發分支。現在我們來創建一個新的叫”experimental”的分支: ~~~ $ git branch experimental ~~~ 如果你運行下面這條命令: ~~~ $ git branch ~~~ 你會得到當前倉庫中存在的所有分支列表: ~~~ experimental * master ~~~ “experimental” 分支是你剛才創建的,“master”分支是Git系統默認創建的主分支。星號(“*”)標識了你當工作在哪個分支下,輸入: ~~~ $ git checkout experimental ~~~ 切換到”experimental”分支,先編輯里面的一個文件,再提交(commit)改動,最后切換回 “master”分支。 ~~~ (edit file) $ git commit -a $ git checkout master ~~~ 你現在可以看一下你原來在“experimental”分支下所作的修改還在不在;因為你現在切換回了“master”分支,所以原來那些修改就不存在了。 你現在可以在“master”分支下再作一些不同的修改: ~~~ (edit file) $ git commit -a ~~~ 這時,兩個分支就有了各自不同的修改(diverged);我們可以通過下面的命令來合并“experimental”和“master”兩個分支: ~~~ $ git merge experimental ~~~ 如果這個兩個分支間的修改沒有沖突(conflict), 那么合并就完成了。如有有沖突,輸入下面的命令就可以查看當前有哪些文件產生了沖突: ~~~ $ git diff ~~~ 當你編輯了有沖突的文件,解決了沖突后就可以提交了: ~~~ $ git commit -a ~~~ 提交(commit)了合并的內容后就可查看一下: ~~~ $ gitk ~~~ 執行了gitk后會有一個很漂亮的圖形的顯示項目的歷史。 這時你就可以刪除掉你的 “experimental” 分支了(如果愿意): ~~~ $ git branch -d experimental ~~~ git branch -d只能刪除那些已經被當前分支的合并的分支. 如果你要強制刪除某個分支的話就用git branch –D;下面假設你要強制刪除一個叫”crazy-idea”的分支: ~~~ $ git branch -D crazy-idea ~~~ 分支是很輕量級且容易的,這樣就很容易來嘗試它。 ## 如何合并 你可以用下面的命令來合并兩個分離的分支:[git merge](http://www.kernel.org/pub/software/scm/git/docs/git-merge.html): ~~~ $ git merge branchname ~~~ 這個命令把分支"branchname"合并到了當前分支里面。如有沖突(沖突--同一個文件在遠程分支和本地分支里按不同的方式被修改了);那么命令的執行輸出就像下面一樣 ~~~ $ git merge next 100% (4/4) done Auto-merged file.txt CONFLICT (content): Merge conflict in file.txt Automatic merge failed; fix conflicts and then commit the result. ~~~ 在有問題的文件上會有沖突標記,在你手動解決完沖突后就可以把此文件添 加到索引(index)中去,用git commit命令來提交,就像平時修改了一個文件 一樣。 如果你用gitk來查看commit的結果,你會看到它有兩個父分支:一個指向當前 的分支,另外一個指向剛才合并進來的分支。 ## 解決合并中的沖突 如果執行自動合并沒有成功的話,git會在索引和工作樹里設置一個特殊的狀態, 提示你如何解決合并中出現的沖突。 有沖突(conflicts)的文件會保存在索引中,除非你解決了問題了并且更新了索引,否則執行?[git commit](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html)都會失敗: ~~~ $ git commit file.txt: needs merge ~~~ 如果執行?[git status](http://www.kernel.org/pub/software/scm/git/docs/git-status.html)?會顯示這些文件沒有合并(unmerged),這些有沖突的文件里面會添加像下面的沖突標識符: ~~~ <<<<<<< HEAD:file.txt Hello world ======= Goodbye >>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt ~~~ 你所需要的做是就是編輯解決沖突,(接著把沖突標識符刪掉),再執行下面的命令: ~~~ $ git add file.txt $ git commit ~~~ 注意:提交注釋里已經有一些關于合并的信息了,通常是用這些默認信息,但是你可以添加一些你想要的注釋。 上面這些就是你要做一個簡單合并所要知道的,但是git提供更多的一些信息來 幫助解決沖突。 ## 撒銷一個合并 如果你覺得你合并后的狀態是一團亂麻,想把當前的修改都放棄,你可以用下面的命令回到合并之前的狀態: ~~~ $ git reset --hard HEAD ~~~ 或者你已經把合并后的代碼提交,但還是想把它們撒銷: ~~~ $ git reset --hard ORIG_HEAD ~~~ 但是剛才這條命令在某些情況會很危險,如果你把一個已經被另一個分支合并的分支給刪了,那么 以后在合并相關的分支時會出錯。 ## 快速向前合并 還有一種需要特殊對待的情況,在前面沒有提到。通常,一個合并會產生一個合并提交(commit), 把兩個父分支里的每一行內容都合并進來。 但是,如果當前的分支和另一個分支沒有內容上的差異,就是說當前分支的每一個提交(commit)都已經存在另一個分支里了,git 就會執行一個“快速向前"(fast forward)操作;git 不創建任何新的提交(commit),只是將當前分支指向合并進來的分支。
                  <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>

                              哎呀哎呀视频在线观看