git 分支管理

Git 分支管理

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以开发主线上分离出来,然后在不影响主线的同时继续工作。

有人把Git  的分支管理模型称为 必杀技特性 ,而正是因为它,将 Git 从版本控制系统家族里区分出来。

创建分支命令:

git branch (branchname)

切换分支命令:

git checkout (branchname)

当你切换分支的时候,Git会用该分支的最后提交的快照替换你的工作目录的内容,所以多个分支不需要多目录。

合并分支命令:

git merge

你可以多次合并到统一分支,也可以选择在合并之后直接删除被并入的分支。

Git 分支管理

列出分支

列出分支基本命令:

git branch

没有参数时,git branch 会列出你在本地的分支。

$ git branch

* master

此例的意思就是,我们有一个叫做 master 的分支,并且该分支是当前分支。

当你执行git inti 的时候,缺省情况下Git 就会为你创建 master 分支,

如果我们需要手动创建一个分支。执行 git branch (branchname)即可。

$ git branch testing

$ git branch

* master 

 testing

现在我们可以看到 ,有了一个新分支 testing.

当你以此方法在上次提交更新之后创建了新分支,如果后来又有更新提交,然后又切换到了 testing 分支,Git 将还原你的工作目录到你创建分支时候的样子

接下来我们将演示如何切换分支,我们用 git checkout(branch)  切换到我们要修改的分支。

.....

我们也可以使用 git checkout -b(branchname)  命令来创建新分支并立即切换到该分支下,从而在该分支中操作。

$ git checkout -b newtest

$ git rm test2.txt

$ git commit -am 'removed test2.txt'

git checkout msater

删除分支

删除分支命令:

git branch -d (branchname)

例如我们要删除 testing 分支:

$ git branch 

$ git branch -d testing 

$ git branch 

分至合并

一旦某分支有了独立内容,你终究希望将它合并回到你的主分支。你可以使用以下命令将任何分支合并到当前分支中去:

git merge 

$ git branch 

$ git merge newtest

合并冲突

合并并不仅仅是简单的文件添加 移除的操作 Git 也会合并修改。

$ git branch 

* master 

$ cat test.txt

runoob.com

首选 ,我们创建一个叫做 change_site 的分支,切换过去, 我们将内容改为 www.runoob.com.

$ git checkout -b chenge_site

$ vim test.txt

$ head -l test.txt

www.runoob.com

$ git commit -am 'changed the site'

Git 查看提交历史

在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。

针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下:

$ git log 

我们可以使用 --online 选项来查看历史记录的简洁的版本。

$ git log --online 

这里显示的是 此项目的开发历史。

我们还可以用 --graph 选项,查看历史中什么时候出现了分支 合并 一下为相同的命令,开启了拓扑图选项:

$ git log  --oneline  --graph

我们也可以用 --reverse 参数来逆向显示所有日志。

$ git log --reverse --oneline

如果只想查找指定用户的提交日志可以使用命令: git log --author  例如,比方说我们要找 Git 源码中Linux提交的部分: 

$ git log --author=Linux --oneline -5

如果你要指定日期,可以执行几个选项,--since  和 --before , 但是你也可以用 --until 和 --after 

--no-merges 隐藏合并提交

 

posted @ 2017-12-19 13:40  zhangsima  阅读(147)  评论(0编辑  收藏  举报