git 切换分支_git 入门教程之分支总览
分支就是一條獨立的時間線,既有分支,必有主干,正如一棵樹談到樹枝,必有樹干一樣的道理.我們先前對git 的全部操作默認(rèn)都是在主干上進行的,這個主干也是一種特殊的分支,名為 master 分支.
無論是穿越歷史還是撤銷更改,我們都或多或少接觸過時間線,git 管理的版本串在一起就組成了這個時間線,其中master 分支是當(dāng)前分支,HEAD 指向master ,因此HEAD 相當(dāng)于指向了最新的版本.
git-commit.gif
基于分支上的操作,每一次 commit 都會提交一個新版本,并且新的 commit 指向原來的 commit,這來最新的 commit 就可以往前找,直到找到最初的commit.這就是 git 的時間線.
當(dāng)我們打算開辟新的時間線時,git 在當(dāng)前 HEAD 指向的 master 分支的 commit處新建一個 dev 分支.如果主角沒有主動進入時間線的話,那么仍然處于 master分支,進入的方法就是 HEAD指向新建的 dev 分支.
不考慮孫悟空的分身特效,主角不能同時處于不同的時空下,git 也是如何,HEAD只能指向某一個 commit ,既然剛剛已經(jīng)指向了 dev 分支,所以原來的 master 分支就沒有 HEAD 了,因為相當(dāng)于master 分支靜止了.
當(dāng)主角在 dev 分支獨自闖蕩干出一番事業(yè)時,決定回到故鄉(xiāng) master 分支,并將出門在外所學(xué)的本領(lǐng)帶回家鄉(xiāng),建設(shè)美好家園.master 分支因為合并了 dev 分支,所以一下子增添了很多內(nèi)容,家鄉(xiāng)煥然一新!
主角這次攜帶 dev 分支歸來,HEAD 分支自然又回到了 master 分支上,年輕的心向往外面的世間,相信不久后還會有同樣的故事發(fā)生...
git-branch.gif
下面詳解分支相關(guān)命令
創(chuàng)建分支
創(chuàng)建 dev 分支,列出分支已驗證是否創(chuàng)建成功
創(chuàng)建dev 分支
master 前面的 * 標(biāo)記表明當(dāng)前仍然處于 master 分支
git-on-master.png
切換分支
切換到新分支以便在分支上開展工作
切換到 dev分支
git-on-dev.png
現(xiàn)在,我們在 dev 分支上奮筆疾書,先后提交兩個版本后完成分支開發(fā)工作:
git-on-dev-commit1.png
git-on-dev-commit2.png
此時,再從 dev 分支切換回 master 分支,合并dev分支前看一下當(dāng)前文件內(nèi)容:
切換回 master 分支
git-checkout-master.png
合并分支
切換回 master 分支并沒有我們在 dev 分支的更改,因為兩條時間線是獨立的,現(xiàn)在合并 dev 分支,再看一下當(dāng)前文件內(nèi)容:
合并 dev 分支
git-merge-dev.png
刪除分支
合并分支后,dev 分支的歷史使命已經(jīng)完成,應(yīng)該及時清空不必要分支.
git-branch-d-dev.png
以上場景包括了分支的常用操作,創(chuàng)建分支(git branch ),切換分支(git checkout ),刪除分支(git branch -d )一系列操作十分流暢,因此 git鼓勵我們大量使用分支!
小結(jié)
- 列出分支 git branch
- 創(chuàng)建分支 git branch
- 切換分支 git checkout
- 創(chuàng)建并切換分支 git checkout -b
- 合并指定分支到當(dāng)前分支 git merge
- 刪除分支 git branch -d
總結(jié)
以上是生活随笔為你收集整理的git 切换分支_git 入门教程之分支总览的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么炒菜颠勺翻炒的时候锅里会着火?
- 下一篇: 如何煮绿豆汤?