GIT學習----第十一節:建立與合併分支
阿新 • • 發佈:2019-01-26
學習目的
- 如何查詢分支列表?
- 如何建立分支?
- 如何切換分支?
- 如何將分支進行合併?
- 如何將分支進行刪除?
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檔案檢視狀態
- 修改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. $ git add readme.txt
2. $ git commit -m "提交分支git-study測試"
[git-study c2799ed] 提交分支git-study測試
1 file changed, 2 insertions(+), 1 deletion(-)
- 切換回master分支
$ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'.
- 建立並切換分支的綜合命令
$ git checkout -b study
Switched to a new branch 'study'
合併分支
- 檢視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對比工作區和版本庫最新版本的區別。
測試撤銷修改!
- 合併master分支和git-study分支
$ git merge git-study
Updating c8e9e50..c2799ed
Fast-forward
readme.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
- git merge命令用於合併指定分支到當前分支。合併後,再檢視readme.txt的內容,就可以看到,和dev分支的最新提交是完全一樣的。
- 注意到上面的Fast-forward資訊,Git告訴我們,這次合併是“快進模式”,也就是直接把master指向dev的當前提交,所以合併速度非常快。
- 當然,也不是每次合併都能Fast-forward,我們後面會講其他方式的合併。
- 再次查詢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
- 檢視分支列表
$ git branch
git-study
* master
- 刪除git-study分支
$ git branch -d git-study
Deleted branch git-study (was c2799ed).
- 再次查詢分支列表
$ git branch
* master
總結
- 檢視分支列表命令:git branch
- 建立分支命令:git branch
- 切換分支命令:git checkout
- 建立+切換分支命令:git checkout -b
- 合併分支命令:git merge
- 刪除分支命令:git branch -d
其他
QQ交流群: 264303060