<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這樣的分布式版本管理工具來說是很有必要的。比如當你餓了的時候,甲幫你做飯,一幫你燒菜: ![](https://box.kancloud.cn/2016-08-17_57b42eac59703.jpg) 當然你也可以自己做飯燒菜。但是咱們仍然可以看到,我是從一個餓的狀態變成了一個飽的狀態,也就是我之前空腹,后來我由甲(分支)和乙(分支)兩人同時來幫我完成了完成了“做飯”和“燒菜”的功能,而我的狀態也從饑餓變成了吃飽的狀態(即飯和菜都提交到了我的肚子里![偷笑](https://box.kancloud.cn/2016-01-18_569ca4488de4a.gif) ),這樣咱又有力氣干活了。 分支在實際中有什么用呢?假設你準備開發一個新feature,但是需要10天才能完成,前5天你寫了50%的代碼,如果立刻提交,由于代碼還沒寫完,不完整的代碼庫會導致別人不能干活了,但是如果等代碼全部寫完再一次提交,又存在丟失每天進度的巨大風險。有了分支,你創建了一個你自己的分支,別人是看不到的,你還繼續在原來的分支上正常工作,直到開發完畢后,再一次性合并到原來的分支(俺餓了...)上,這樣,既安全,又不影響別人工作,而且Git分支的創建和修改、刪除都是非常快的。 **創建分支**: 使用Git時的每一次提交,Git都會把它們串成一條時間線,這條線就是一條分支。咱們之前一直在master分支上操作,它是一條主分支,并且它指向的是最新的提交,而咱們前面章節講的HEAD其實指向的就是master,這樣就能確定當前分支,以及當前分支的提交點:每次咱們提交時,master就會向前移動一步。當咱們創建新的分支,例如Git新建了一個分支叫dms001,指向master相同的提交,再把HEAD指向dms001,就表示當前分支在dms001上了。(這里可能不好理解,不過你只要記住一點就行了:HEAD指向的是當前分支,而剛創建的分支dms001指向的是提交) ![](https://box.kancloud.cn/2016-08-17_57b42eac79320.jpg) 下面咱們開始操作一下: 首先創建一個dms001分支,然后切換到dms001分支上(即讓HEAD指向該分支) ![](https://box.kancloud.cn/2016-08-17_57b42eac8eb79.jpg) 然后咱們可以通過git branch來查看當前分支是不是在dms001上(當然也可以直接使用git checkout -b dms001來創建并切換至dms001分支): ![](https://box.kancloud.cn/2016-08-17_57b42eaca51f9.jpg) 可以看到星號指向了dms001,這里暫且把星號(*)看成HEAD指針,如果大家對指針不怎么理解的話,可以看看我之前寫的一篇“[談談我對指針的認識”](http://blog.csdn.net/lhy_ycu/article/details/9346377)。 創建好分支后,咱們再來對之前hellogit.txt文件做做修改,先cat hellogit.txt看看里面的內容: ![](https://box.kancloud.cn/2016-08-17_57b42eacb8ea1.jpg) 在該文件中再加一句:Create a named dms001 branch. ![](https://box.kancloud.cn/2016-08-17_57b42eaccb80c.jpg) 通過git status咱們可以看到,hellogit.txt確實被修改了,而且該狀態位于[工作區](http://blog.csdn.net/lhy_ycu/article/details/20651051)。 下面通過前兩章講的,將該文件狀態變成[暫存區](http://blog.csdn.net/lhy_ycu/article/details/20651051)狀態: ![](https://box.kancloud.cn/2016-08-17_57b42eace672f.jpg) 然后提交到咱們的[本地倉庫](http://blog.csdn.net/lhy_ycu/article/details/20651051): ![](https://box.kancloud.cn/2016-08-17_57b42ead06ad4.jpg) 最好咱們將分支切換回主分支master: ![](https://box.kancloud.cn/2016-08-17_57b42ead1ae2c.jpg) 切換回master分支后,再看一下hellogit.txt文件,剛才添加的那句“Create a named dms001 branch.”不見了!因為那個提交是在發生在dms001分支上,而master分支此刻的提交點并沒有變: ![](https://box.kancloud.cn/2016-08-17_57b42ead32302.jpg) **合并分支:** 合并分支命令很簡單,但請注意:合并分支一定要切換至主分支,并且要合并的分支必須commit了: ![](https://box.kancloud.cn/2016-08-17_57b42ead45b79.jpg) 這時master就指向了dms001的提交了。 請注意:咱們實際工作時一般是沒有權限merge的,但因為是學習,所以還是有必要了解一下的。 **刪除分支:** 好了,既然已經merge好了,那么我們就可以放心的刪除分支dms001了。刪除命令如下: ![](https://box.kancloud.cn/2016-08-17_57b42ead5e897.jpg) 好了,咱又只剩master分支了,可以看到無論是創建、合并還是刪除分支,速度都是非常迅速的,這也是Git一個非常重要的[特點](http://blog.csdn.net/lhy_ycu/article/details/20574453),而且工作中常用分支來完成咱們的工作。 **小結**: ? ?本章出現的一些概念和常用命令希望大家多花點時間消化和多多操作。
                  <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>

                              哎呀哎呀视频在线观看