git 使用筆記 三 分支的使用

2022-05-03 07:12:10 字數 1681 閱讀 4888

之前說過,每次修改之後,git 並不是儲存這些修改之後的差異變化,實際上就像乙個照相機一樣,將修改後的檔案拍下作為檔案快照,記錄在乙個微型的檔案系統中。在 git 中提交時,會儲存乙個提交物件,這個物件包含乙個暫存內容快照的指標。而 git 中的分支其本質上是乙個指向 commit 物件的可變的指標,使用 master 作為分支的預設名字,通常指向的是最新的一次提交。

每次的提交,git 把他們穿起來連成一條線,而主分支master就在這條線上隨著提交測更新移動,而 head 指向master,表示我們當前處在 master 分支上(不好意思,直接就用廖雪峰老師的圖了,他的教程請戳這裡)

建立乙個叫做 dev 分支,這個分支缺省會只想當前你所處在的提交物件上,切換到這個分支上後,head 便指向了 dev。

從這個時候開始,對工作區的操作都只是在 dev 分支上發生了,在 dev 的上提交一次之後,master 指向原來的那個提交物件,而 dev 會指向最新的提交物件。我們稱:master 落後了 dev 乙個 commit。當我們試圖將 master 指向 dev 當前的提交時,這個操作就是合併分支。

在上述的這幾個過程中,工作區的內容沒有變化,整個過程就是修改幾個指標而已,幾乎就是瞬間完成。

建立乙個 crisp 分支,然後切換到這個分支:

git checkout -b crisp

switched to a new branch 'crisp'

git checkout -b表示建立並切換分支,相當於將下面兩步操作合併成一步來做

git branch crisp 		// 建立分支

git checkout crisp // 切換到指定的分支

同時,可以用git branch檢視分支,這個命令會列出所有的分支,在當前的分支前面會表上乙個 * 號。

分支與分支之間相互獨立,彼此絕緣,所以可以在 主分支master的基礎上分出若干個分支,進行不同的操作,比如不同模組的開發,bug的修復等,工作完成之後合併到主分支就行了。怎麼合併分支呢?

假設我們正在 dev 分之上開發,當開發完成後,在這個分之上提交**

git add .

git commit -m "dev 開發完成!"

此時的提交是在 dev 分支上的提交,當你切回 master 上是,dev 上的修改你都看不到。此時的 master 如果沒有人提交過的話,則停留在切換分支之前的那個提交點上,也就是落後與 dev 分支。這個時候我們就需要將分支合併了。

git checkout master		// 先切回 master 分支 

git merge dev // 手動將dev 分支上的提交合併到 master 上

當某乙個分支不在需要的時候,可以將它刪除

git branch -d branchname
小小的總結一下:

檢視分支:git branch

建立分支:git branch name

切換分支:git checkout name

建立+切換分支:git checkout -b name

合併某分支到當前分支:git merge name

刪除分支:git branch -d name

使用git之三分支 學習筆記三

使用git之三分支 學習筆記三 分支 git branch new 建立新分支 直接合併 merge git checkout b alternate master 直接建立alternate分支並到該分支上去 在alternate分支上新建乙個gti add about.html然後git com...

git 三 分支管理

git branch git checkout 也可以將建立分支 切換分支合併到乙個命令,使用如下 git checkout b 首先需要檢出到其它分支上,站在當前分支上,當然不能合併當前分支,然後才能合併目標分支,使用以下命令 git merge git branch d git branch m...

git的使用和學習(三)分支管理

建立分支 git branch git branch dev2切換分支 git checkout git checkout dev2建立 切換分支 git checkout b git checkout b dev3合併某分支到當前分支 git merge git merge dev 刪除分支 gi...