204-git分支管理
阿新 • • 發佈:2019-01-06
git分支管理 git把我們每次提交的版本串成一條時間線 這個時間線就是一個分支 我們建立完版本庫之後 如果直接就在預設的分支上面提交 那麼現在我們操作的就是主分支 也就是 master分支 HEAD嚴格來說,不是指向提交 而是指向了master master才是指向提交 所以HEAD指向的就是當前的分支 一開始的時候 master分支是一條線 git用master指向最新的提交 再用HEAD指向master 就能確定當前的分支 以及當前分支的提交點 每次提交,master分支都會向前移動一點 這樣,隨著不斷的提交 master分支的線也會越來越長 當我們建立新的分支,比如dev的時候 git建立了一個指標叫dev 指向了master相同的提交 再把HEAD指向了dev 就表示當前的分支在dev上 git建立一個分支很快 因為就是增加了一個dev指標 改變了HEAD的指向 工作區的檔案都沒有任何變化 不過,從現在開始,對工作區的修改和提交 都是針對dev分支了 比如新提交一次 dev指標往前移動一步,線也變長 但是master指標不變 假如我們現在在dev上的工作完成了 那麼就可以把dev合併到master上 git怎麼合併呢 最簡單的方法就是 直接把master指向dev的當前提交 那麼就完成了合併 合併完分支之後,刪除dev分支也特別快 刪除dev分支就是把dev指標刪掉 這樣我們就剩下一個master分支了 我們可以輸入 git branch 檢視我們有多少個分支 還有我們現在在哪個分支上開發 我們執行 git checkout dev 這樣就把指標放到了dev上 然後我們改一下test1.txt helloworld001 helloworld002 helloworld003-dev 然後我們 git add code.txt git commit -m "commit dev" 這樣的話 我們就把修改提交到了dev分支上 然後我們切換到master分支 git checkout master git branch 切換成功 然後我們開啟test1.txt vim test1.txt 我們發現裡面是 helloworld001 helloworld002 並沒有我們新新增的那句話 然後我們把dev的工作成果合併到master上面 git merge dev 然後就合併成功了 然後我們依然切換到master並且檢視一下 git checkout master git branch 然後我們開啟test1.txt vim test1.txt 發現 helloworld001 helloworld002 helloworld003-dev 說明我們現在的master和dev是一致的 dev上的內容已經被合併到master上面了 然後我們這次的開發工作已經完成了 那麼我們刪除dev git branch -d dev git branch 現在只剩下master了 我們來總結一下分支管理的命令 1. git branch 2. git branch <name> 3. git checkout <name> 4. git checkout -b <name> 建立並切換 5. git merge <name> 6. git branch -d <name>