分支作用
在开发过程中,项目往往由多人协同开发,那么将多人编写的代码汇总到一起就成了一个困难且复杂的工作,另外项目也需要备份和版本迭代,因此不能只有一个版本。因此分支就成为了优秀的解决方案。
分支相互独立,不同部门在不同分支开发,分支由主分支构建,分支代码独立运行且无误后融合到主分支,保证主分支都是稳定可部署的代码。分支的存在极大的提高了开发效率。
分支一般分为主分支和其他分支,不同程序员在分支上编写代码,无误后融合到主分支(一般为master分支)是各个程序员的代码都融合到主分支上。
分支也可以进行版本迭代,开发的第一版融合到master1主分支上,作为第一版,二次开发时融合到master2上作为第二个版本,代码也不会丢失。
Git分支管理
初始化仓库
分支依赖于仓库,因此分支需要在git仓库构建。git命令支持使用git init
初始化一个空的git仓库。
git init
git branch
git branch
命令是分支管理命令, 有如下功能:
- 查看分支
- 创建分支
- 删除分支
- 重命名分支
- 设置上游分支
- 将分支推送到远程仓库
# 查看本地分支
git branch
默认只列出本地分支,不显示远程分支,并且在当前分支前面使用 * 标记
刚初始化的仓库是没有分支的,如果复制项目到当前目录,并绑定远程仓库,最后执行git push origin master
命令就会自动在本地和远程仓库生成master分支。(推荐)
当然也可以直接在本地创建分支,git提供了git branch [branchName]
来兴建一个分支。
出现上面错误的原因是"库是空的,无法创建主分支",需要添加内容并提交到工作区,也就是执行如下命令:
git add .
git commit -m "xxx"
执行命令后git仓库就有内容了,并且git系统自动以此内容创建一个master
主分支
# 查看远程分支
git branch -r
git branch --remotes
# 查看所有分支包含远程和本地
git branch -a
git branch --all
# 查看分支提交的详细信息
git branch -v
git branch --verbose
在查看远程仓库的分支时注意绑定远程分支仓库。
# 创建本地分支
git branch help
#git checkout -b 创建并切换到新的分支
git checkout -b <branch>
# 切换到指定分支
git checkout <branch>
git checkout -b <branch>
=git branch <branch>
+git checkout <branch>
# 将本地分支推送到远程仓库(创建远程仓库分支)
git push origin <local_branch>:<remote_branch>
# 简写
git push -u origin <local_branch>
# 删除一个名字为branchName的分支,如果该分支有提交未进行合并,则会删除失败。
git branch -d <branchName>
# 强制删除一个名字为branchName 的分支
git branch -D <branchName>
# 删除远程分支
git push origin -d <branch>
git push origin :<branch>
# 重命名当前分支
git branch -m <branch>
# 重命名指定分支
git branch -m <old-branch> <new-branch>
git checkout
git checkout
切换分支和创建分支的命令。git checkout命令可以切换通过git branch命令创建的分支。每个分支都是一个独立的项目空间。
checkout一个分支,会更新当前的工作空间中的文件,使其与检出分支的commit版本状况保持一致。这之后工作区中的所有变更都会被记录在checkout出来的那个分支上。这一操作可以认为是在挑选你希望修改的工作分支。
git checkout命令有时候会跟git clone命令相混淆。两个命令中最为显著的差别在于,git clone用于从远程仓库获取代码,而git checkout则用来在本地系统中业已存在的代码库中切换不同的版本。
# 切换本地分支
git checkout <branch>
# 切换远程分支
git checkout -t <origin/xxx>
在不同分支下改变目录下的文件,提交到工作区的内容时不一样的。也就是说当切换分支后,就是一个独立的空间,这个空间工作区的内容由git add
和git commit
决定,最后git push
推送该分支的代码。
分支项目拉取
在git管理的项目中提供了两种方法拉取远程项目git clone
和git pull
两个命令。在分支中git clone
和git pull
是不一样的,前者是面向公开项目的,g后者就是用户本地和远程仓库传输的。
git clone
是作用于主分支,将主分支克隆到本地,这个过程无需密码验证,任何开发者都可以将远程仓库的主分支地址拉取到本地(只作用于主分支)。
git pull
可以在任意分支上从远程的任何分支拉取项目,此过程需要密码验证。在管理本地分支项目与远程分支项目时都是使用该命令。文章来源:https://www.toymoban.com/news/detail-734785.html
远程分支也是可以直接拉取到本地的,通过git fetch
命令。文章来源地址https://www.toymoban.com/news/detail-734785.html
# 在本地新建一个xiaoxu分支,并将远程origin仓库的master分支代码下载到本地xiaoxu分支
git fetch origin master:xiaoxu
# 取回origin主机的master分支
git fetch origin master
# 将某个远程主机的更新,全部取回本地
git fetch <远程主机名>
# 取回特定分支的更新
git fetch <远程主机名> <分支名>
到了这里,关于Git分支篇git branch和git checkout的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!