分支的操作二 git checkout b

2021-08-13 21:35:16 字數 3491 閱讀 7710

1. git checkout -b - 建立、切換分支

如果想以當前的 master 分支為基礎建立新的分支,我們需要用到 git checkout -b 命令。切換到 feature-a 分支並進行提交,執行下面的命令,建立名為 feature-a 的分支。

git checkout -b feature-a
strong@foreverstrong:~/github_work/git-tutorial$ git checkout -b feature-a

switched to a new branch 'feature-a'

strong@foreverstrong:~/github_work/git-tutorial$

實際上,連續執行下面兩條命令也能收到同樣效果。

git branch feature-a

git checkout feature-a

建立 feature-a 分支,並將當前分支切換為 feature-a 分支。這時再來檢視分支列表,會顯示我們處於 feature-a 分支下。

git branch
strong@foreverstrong:~/github_work/git-tutorial$ git branch

* feature-a

master

strong@foreverstrong:~/github_work/git-tutorial$

feature-a 分支左側標有 「*」,表示當前分支為 feature-a。在這個狀態下像正常開發那樣修改**、執行 git add 命令並進行提交的話,**就會提交至 feature-a 分支。像這樣不斷對乙個分支 (例如 feature-a) 進行提交的操作,我們稱為「培育分支」。

下面來實際操作一下。在 readme.md 檔案中新增一行。

# git tutorial
這裡我們新增了 feature-a 這樣一行字母,然後進行提交。

git add readme.md

git commit -m "add feature-a"

strong@foreverstrong:~/github_work/git-tutorial$ git add readme.md 

strong@foreverstrong:~/github_work/git-tutorial$

strong@foreverstrong:~/github_work/git-tutorial$ git commit -m "add feature-a"

[feature-a 6df1569] add feature-a

1 file changed, 1 insertion(+), 1 deletion(-)

strong@foreverstrong:~/github_work/git-tutorial$

於是,這一行就新增到 feature-a 分支中了。

2. 切換到 master 分支

現在我們再來看一看 master 分支有沒有受到影響。首先切換至 master 分支。

git checkout master
strong@foreverstrong:~/github_work/git-tutorial$ git checkout master

switched to branch 'master'

strong@foreverstrong:~/github_work/git-tutorial$

strong@foreverstrong:~/github_work/git-tutorial$ git branch

feature-a

* master

strong@foreverstrong:~/github_work/git-tutorial$

strong@foreverstrong:~/github_work/git-tutorial$ cat readme.md

# git tutorial

strong@foreverstrong:~/github_work/git-tutorial$

然後檢視 readme.md 檔案,會發現 readme.md 檔案仍然保持原先的狀態,並沒有被新增文字。feature-a 分支的更改不會影響到 master 分支,這正是在開發中建立分支的優點。只要建立多個分支,就可以在不互相影響的情況下同時進行多個功能的開發。

3. 切換回上乙個分支

我們再切換回 feature-a 分支。

git checkout -
strong@foreverstrong:~/github_work/git-tutorial$ git branch

feature-a

* master

strong@foreverstrong:~/github_work/git-tutorial$ git checkout -

switched to branch 'feature-a'

strong@foreverstrong:~/github_work/git-tutorial$ git branch

* feature-a

master

strong@foreverstrong:~/github_work/git-tutorial$

strong@foreverstrong:~/github_work/git-tutorial$ git checkout master

switched to branch 'master'

strong@foreverstrong:~/github_work/git-tutorial$ git branch

feature-a

* master

strong@foreverstrong:~/github_work/git-tutorial$ git checkout feature-a

switched to branch 'feature-a'

strong@foreverstrong:~/github_work/git-tutorial$ git branch

* feature-a

master

strong@foreverstrong:~/github_work/git-tutorial$

像上面這樣用 「-」 (連字元) 代替分支名,就可以切換至上乙個分支。當然,將 「-」 替換成 feature-a 同樣可以切換到 feature-a 分支。

references

(日) 大塚弘記 著, 支鵬浩, 劉斌 譯. github入門與實踐[m]. 北京:人民郵電出版社, 2015. 1-255

git命令的使用總結1 git checkout

git clone 即可將 拉下 當 更改後,通過git status,就可以看到 的檔案唄更改了,git status s 可以簡易的顯示當前git狀態 新新增的未跟蹤檔案前面有?標記,新新增到暫存區中的檔案前面有a標記,修改過的檔案前面有m標記。m有兩個可以出現的位置,出現在右邊的m表示該檔案被...

github 的分支操作

首先需要當前目錄設定為倉庫目錄 一 建立本地分支 1 檢視有哪些分支 git branch 2 建立乙個分支 git branch name 其中name是分支名 3 切換到分支 git checkout name 說明 可以將2和3合起來操作,建立 切換分支 git checkout b name...

Git 分支的操作

git是linux創始人linus用c語言寫的分布式版本控制系統 而且有乙個head指標,指標指向的是最近一次的提交,每次提交都有乙個commitid,我在這個欄目的其他有講到這些。一次提交我們可以認為是一次快照,我們可以用git reset hard commitid到達某次提交後的狀態 mast...