
系列文章
Git 从零开始(一)下载和安装
Git 从零开始(二)准备使用 - 设置用户、邮箱和编辑器以及本地仓库的创建和关联远程仓库、远程仓库克隆至本地
Git 从零开始(三)基本命令的使用
Git 从零开始(四)分支的创建、查看、合并和删除
简介
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。
在 Git 中会很轻松,任何规模的项目都可以在瞬间创建新分支。Git 的分支实质上仅是包含所指对象校验和(长度为 40 的 SHA-1 值字符串)的文件,所以它的创建和销毁都异常高效。
同时,由于每次提交都会记录父对象,所以寻找恰当的合并基础(译注:即共同祖先)也是同样的简单和高效。 这些高效的特性使得 Git 鼓励开发人员频繁地创建和使用分支。
分支创建
分支创建有两种方式
方式一:通过命令git branch 分支名称
创建分支,然后git checkout 分支名称
切换到创建后的分支。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git branch dev
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git checkout dev
wzl@ljh-PC MINGW64 /d/flutter_first (dev)
$
方式二:git checkout -b 分支名称
切换到分支,分支不存在的话会创建一个分支并切换到创建的分支中。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git checkout -b dev
Switched to a new branch 'dev'
wzl@ljh-PC MINGW64 /d/flutter_first (dev)
$
分支查看
通过使用git branch
来查看分支列表。dev
分支前的 *
字符代表现在检出的分支(当前 HEAD 指针指向的分支)。
wzl@ljh-PC MINGW64 /d/flutter_first (dev)
$ git branch
* dev
master
查看每一个分支的最后一次提交者,可以运行git branch -v
命令查看。
wzl@ljh-PC MINGW64 /d/flutter_first (dev)
$ git branch -v
* dev 96f261e dev first commit
master 45056aa Update A.txt
查看已经合并过的分支,可以运行git branch --merged
命令查看,合并过的分支若不再使用可以进行删除。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git branch --merged
dev
* master
查看未合并过的分支,可以运行git branch --no-merged
命令查看。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git checkout -b dee
Switched to branch 'dee'
wzl@ljh-PC MINGW64 /d/flutter_first (dee)
$ git checkout master
Switched to branch 'master'
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git branch --no-merged
dee
分支合并
创建好分支并做运行测试后确保修改正确,然后就可以进行分支合并了,首先输入git checkout master
切换到要合并的分支中,然后输入git merge dev
进行合并。
wzl@ljh-PC MINGW64 /d/flutter_first (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git merge dev
Updating 45056aa..96f261e
Fast-forward
A.txt | 2 ++
1 file changed, 2 insertions(+)
分支删除
分支合并后,原分支并没有消失,所以需要手动进行删除,可以输入git branch -d dev
进行删除。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git branch -d dev
Deleted branch dev (was 96f261e).
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git branch
* master
删除远程仓库的分支,则输入git push origin --delete 分支名称
进行删除。
wzl@ljh-PC MINGW64 /d/flutter_first (master)
$ git push origin --delete dee
To github.com:ankfljh/flutter_first.git
- [deleted] dee
记录的都是一些命令,用于之后的现取现用,孰能生巧。
到这里就结束了,我也是有底的 ~
网友评论