1. 程式人生 > >GIT學習----第十一節:建立與合併分支

GIT學習----第十一節:建立與合併分支

學習目的

  1. 如何查詢分支列表?
  2. 如何建立分支?
  3. 如何切換分支?
  4. 如何將分支進行合併?
  5. 如何將分支進行刪除?

master分支

每次提交,Git都把它們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git裡,這個分支叫主分支,即master分支。HEAD嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當前分支。一開始的時候,master分支是一條線,Git用master指向最新的提交,再用HEAD指向master,就能確定當前分支,以及當前分支的提交點。

建立分支

建立分支git-study

$ git branch git-study

檢視當前分支

$ git branch
  git-study
* master

切換分支到git-study

$ git checkout git-study
Switched to branch 'git-study'

再次檢視當前分支

$ git branch
* git-study
  master

有兩次檢視分支:得到結論git branch命令會列出所有分支,當前分支前面會標一個*號。

修改readme.txt檔案檢視狀態

  1. 修改readme.txt檔案檢視狀態
$ git status
On branch git-study
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

可以看出在git-study分支,readme.txt檔案被修改!

  1. 新增檔案並提交檔案
1. $ git add readme.txt

2. $ git commit -m "提交分支git-study測試"
[git-study c2799ed] 提交分支git-study測試
 1 file changed, 2 insertions(+), 1 deletion(-)
  1. 切換回master分支
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
  1. 建立並切換分支的綜合命令
$ git checkout -b study
Switched to a new branch 'study'

合併分支

  1. 檢視master分支readme.txt檔案
$ cat readme.txt
Git is a version control system.
Git is free software.
Git is a distributed version control system.
Git is free software.
新增一行測試工作區、暫存區、分支。
cat 命令測試。
測試修改檔案後各區狀態!
測試git diff,檢視工作區和分支檔案的修改情況!
再次測試git diff對比工作區和版本庫最新版本的區別。
測試撤銷修改!
  1. 合併master分支和git-study分支
$ git merge git-study
Updating c8e9e50..c2799ed
Fast-forward
 readme.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  1. git merge命令用於合併指定分支到當前分支。合併後,再檢視readme.txt的內容,就可以看到,和dev分支的最新提交是完全一樣的。
  1. 注意到上面的Fast-forward資訊,Git告訴我們,這次合併是“快進模式”,也就是直接把master指向dev的當前提交,所以合併速度非常快。
  1. 當然,也不是每次合併都能Fast-forward,我們後面會講其他方式的合併。
  1. 再次查詢master分支readme.txt檔案
$ cat readme.txt
Git is a version control system.
Git is free software.
Git is a distributed version control system.
Git is free software.
新增一行測試工作區、暫存區、分支。
cat 命令測試。
測試修改檔案後各區狀態!
測試git diff,檢視工作區和分支檔案的修改情況!
再次測試git diff對比工作區和版本庫最新版本的區別。
測試撤銷修改!
Creating a new branch is quick.

合併完成!合併完成!合併完成!

刪除分支git-study

  1. 檢視分支列表
$ git branch
  git-study
* master
  1. 刪除git-study分支
$ git branch -d git-study
Deleted branch git-study (was c2799ed).
  1. 再次查詢分支列表
$ git branch
* master

總結

  1. 檢視分支列表命令:git branch
  2. 建立分支命令:git branch
  3. 切換分支命令:git checkout
  4. 建立+切換分支命令:git checkout -b
  5. 合併分支命令:git merge
  6. 刪除分支命令:git branch -d

其他

QQ交流群: 264303060

QQ交流群

遊戲列表