Git分支

时间:2020-02-23 14:33:21  来源:igfitidea点击:

在本教程中,我们将学习Git中的分支。

什么是分支?

Git中的分支代表一个独立的开发线,具有自己的工作目录,标记区域和承诺的项目历史。

主分支

创建Git存储库时获得的第一个分支称为master分支。

通常,master分支保存生产代码,该代码在生产环境中运行,并且您的用户正在与之交互。

开发工作通常在单独的dev分支中完成,然后在准备好用于生产服务器时将其与master分支合并。

Single project multiple branches.

通常,一个项目具有多个分支,例如master,testing,dev1,dev2等。

在上图中,我们有一个master分支和一个指向最后一次提交的指针。

使用git commit命令提交的所有更改都保存在我们当前所在的分支中。

列出所有分支

要列出所有分支,我们使用git branch命令。

$git branch
* master

上面的输出告诉我们只有一个分支主机,而*表示我们当前在它上面。

创建一个新分支

为了创建一个新的分支,我们使用git branch [name]命令。

$git branch dev

上面的命令创建一个名为dev的新分支和一个指向最后一次提交的新指针。

上图代表master和dev分支。

分支只是指向提交的指针。

现在,如果我们列出分支,我们将看到两个名称。

$git branch
  dev
* master

检出分支

要开始将更改提交到新分支,我们必须首先跳转(切换)它。
要签出一个分支,我们使用git checkout [name]命令。

$git checkout dev
Switched to branch 'dev'

在上面的示例中,我们切换到dev分支。

现在,如果我们使用git add和git commit提交更改,那么更改将被保存在当前的dev分支中。

稍后更多关于git checkout的信息。

删除分支

要删除分支,我们使用git branch -d [name]命令。

$git branch
  dev
  dummy
* master

$git branch -d dummy
Deleted branch dummy (was f066f07).

$git branch
  dev
* master

在上面的输出中,我们可以看到有3个分支。
然后我们删除虚拟分支。

git branch -d [name]命令是一个"安全"命令。
如果分支具有未合并的更改,Git将不允许我们删除它。

强制删除分支

为了强制删除一个分支,我们使用git branch -D [name]命令。
这将永久删除对该分支所做的所有未合并更改。

$git branch -d dummy
error: The branch 'dummy' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dummy'.

$git branch -D dummy
Deleted branch dummy (was 9be9a2f).

在上面的示例中,我们有一个虚拟分支,该分支具有一些未合并的更改,因此我们不允许使用git branch -d dummy命令将其删除。
因此,我们使用git branch -D dummy将其删除。

重命名当前分支

要重命名当前分支,我们使用git branch -m [name]命令。

在给定的示例中,我们有两个分支dev和master。
然后我们创建一个新的分支你好。
然后我们切换到hello分支。
然后使用git branch -m helloworld命令将hello分支重命名为helloworld。

$git branch
  dev
* master

$git branch hello

$git branch
  dev
  hello
* master

$git checkout hello
Switched to branch 'hello'

$git branch
  dev
* hello
  master

$git branch -m helloworld

$git branch
  dev
* helloworld
  master