定义
git branch 命令创建、列出和删除分支。
它不允许在分支之间切换或者将分叉的历史重新组合在一起。
因此,git branch 与 git checkout 和 git merge 命令集成在一起。
git创建分支
分支只是提交的指针。
当你创建一个分支时,Git 会创建一个新的指针。
它不会更改存储库的历史记录。
我们可以使用 git branch 命令创建一个分支:
git branch test_branch
存储库的历史记录将保持不变。
将创建一个指向当前提交的新指针:
应该使用 git checkout 选择新创建的分支,然后 git add 和 git commit 以便向其添加提交。
Git 分支使用
分支是大多数版本控制系统中的可用功能。
Git 分支是指向我们所做更改的快照的指针。
当我们想要修复错误或者添加新功能时,会创建一个新分支来封装更改。
这有助于我们在合并之前清理未来的历史记录。
Git 分支是日常工作流程的重要组成部分。
Git 不会将文件从一个目录复制到另一个目录,而是将分支存储为对提交的引用。
git创建远程分支
git branch 命令不仅可以操作本地分支,还可以操作远程分支。
必须配置在远程存储库上创建分支并将其添加到本地存储库配置:
git remote add new-remote-repo https://hostname/user/repo.git # Add remote repo to local repo config git push <new-remote-repo> test_branch~ # pushes the test_branch branch to new-remote-repo
git删除分支
在一个分支上完成工作并合并到主 master 后,我们可以将其删除:
git branch -d test_branch
如果未合并的更改仍然存在,则会发生错误:
error: The branch 'test_branch' is not fully merged. If you are sure you want to delete it, run 'git branch -D test_branch'.
如果我们确定要永久删除分支,我们可以使用带有大写 -D 选项的 git branch 命令:
git branch -D test_branch
上述命令只删除一个分支的本地副本。
该分支可能仍存在于远程存储库中。
运行以下命令删除远程分支:
git push oroirn --delete test_branch
或者
git push oroirn :test_branch
git分支常用选项
git branch | 列出存储库中的所有分支(与Git Branch -list相同)。 |
---|---|
git branch <branch> | 创建一个名为%26lt的新分支;分支%26gt;但没有检查新分支机构。 |
git branch -d <branch> | 删除分支。如果有未更改的更改,Git不允许我们删除它。 |
git branch -D <branch> | 强制删除分支,即使有未显示的更改。当我们确定永久删除它时执行此命令。 |
git branch -m <branch> | 移动或者重命名当前分支到%26LT;分支%26GT; |
git branch -a | 列出所有远程分支。 |
工作原理
分支代表一条孤立的发展线。
它们被接受为请求新工作目录、临时区域和项目(item)历史的一种方式。
为分支中的两个特性开发独立的开发行将使它们能够并行操作,并使主分支没有可疑代码。