[GitHub]第三讲:简单分支操作
Git 最核心的操作對象是版本( commit ),最核心的操作技巧就是分支。
什么是分支?
倉庫創建后,一旦有了新 commit,默認就會放到一個分支上,名字叫 master。前面咱們一直看到的多個版本組成的一條歷史線,就是 master 分支。但是一個倉庫內,用戶可以自己創建其他的分支,可以有多條歷史線。
說說 master 這個名字,一般中文叫“主分支”,其實從技術底層來講它跟其他我們自己要創建的分支沒有區別,只不過它是天生的默認分支。實際工程項目中會人為的給它一個重要的使命,存放穩定代碼。就像 github 公司倡導的。
master 分支上的所有代碼都應該是可以部署的
意思就是 master 分支上的代碼是隨時可以放到產品服務器上跑的代碼。這樣,如果想開發一個新功能,可以新開分支。 想象一下歷史線上有很多節,每個版本就是一節。一個分支相當于一跟竹子,一節節的往上長。
但是實際上在底層并不是每個分支都拷貝出自己獨立的一條歷史線。其實 master 本身只是一個指針,指向 master 分支上最新的一個版本。這樣由于每個 commit 都可以順藤摸瓜找到自己的前一個 commit,那么這條歷史線就可以確定了。
創建新分支
什么時候需要開一個新分支,這個后面講各種工作流程的時候會介紹,今天先把基本操作學會。 到客戶端的Branches?這一項
點擊1處的加號,就會彈出2處的對話框。Create a new branch off master?就是來創建一個分支。在對話框中填入?idea,創建了 idea 分支的。所謂?off master?意思是“基于 master ”分支,所以此刻 idea 分支并不為空,而是擁有和 master 一樣的歷史。如下圖,箭頭所指的小對勾表示“當前分支”( current branch )已經自動切換到 idea 分支。
但是,在底層這個的實現是非常巧妙的,就是又創建一個新的 idea 指針,跟 master 指針指向同一個版本,根本沒有拷貝歷史線。
如果現在我對項目做一下修改,然后 commit 了。那么移動的只是 idea 指針,master 不變。就成了這樣:
現在 master 分支包含兩個版本 C1 和 C2,idea 分支包含三個版本 C1,C2,C3 。
默認情況下這個 idea 分支只是存在于本地,如果想在遠端倉庫上發布這個分支,就點一下 idea 分支右側的Publish?按鈕。
這樣,到遠端倉庫看一下,點擊下圖1處,發現果然2處多了一個 idea 分支,3處的輸入框中,不但能搜索已有分支,還能創建新分支,看到了吧,很多操作在本地客戶端和 github.com 上都能進行。
切換分支
到 branches 標簽下,相中哪個分支了,雙擊一下就切換過去了。時間長了你會覺得這個也不夠快,還是純鍵盤操作快。敲 Cmd-B 可以打開分支切換框,輸入名字回車,就切換成功了。
如果你在 idea 分支上有了修改但是還沒有來得及 commit,這時候如果切換分支,那么 git 會替你保存這部分修改,也就是在切換到的分支上是看不到這部分修改的。但是不要擔心,只要你切換回老分支,修改內容又回來了。
注意,每次切換分支,項目代碼,術語叫工作樹( Working Tree )是會隨著變化的,在編輯器中看看就知道了。
刪除分支
首先當前分支是不能刪除的。什么意思?到客戶端的?Branches?標簽下,左側有對勾的就是當前分支,打開右側小箭頭的下拉菜單,可以看到?delete?這一項是禁用的。想刪除它,就先要切換到其他分支,例如?master。這樣就可以刪除 idea 分支了,如果執行本地刪除 github.com 上對應分支也會同時被刪除。
在客戶端把分支切換到 idea,現在試圖去刪除 master 。點開 master 分支的小箭頭,發現?delete?一項可以點,所以點一下,但是報錯了:“”master” is the repository’s default branch and cannot be deleted.` 要到 github.com 上修改默認分支( default branch 注意跟當前分支是不同的),就像這樣。
在遠端倉庫,也就是 github.com 上如何切換默認分支呢?到?settings?下面就更改?Default branch?就可以了。
如果只想刪除遠端分支,保留本地分支,可以在客戶端中使用每個分支右側的?Unpublish?這個選項。
總結
只開測試分支,調好代碼 commit 了之后,如果不把代碼搞到 master 分支上是沒有太大意義的,這就涉及到分支合并的問題了,這個是 git 最大最強的一塊功能,后面介紹。
轉載于:https://www.cnblogs.com/wanghang/p/6299698.html
總結
以上是生活随笔為你收集整理的[GitHub]第三讲:简单分支操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac book pro M1 安装 H
- 下一篇: 六月计划#2B(6.10-6.16)