本篇文章给大家带来了关于Git的相关知识,其中主要介绍了关于分支的相关问题,包括了分支的作用、master主分支、功能分支 、分支操作等,希望对大家有帮助。
推荐学习:《Git教程》
在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发,例如:
在初始化本地Git仓库的时候,Git默认已经帮我们创建了一个名字叫做master的分支。通常我们把这个master分支叫做主分支。
在实际工作中,master主分支的作用是:用来保存和记录整个项目已完成的功能代码。
因此,不允许程序员直接在master分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃,因此我们需要在自己负责开发的分支上进行开发
由于程序员不能直接在master分支上进行功能的开发,所以就有了功能分支的概念。
功能分支指的是专门用来开发新功能的分支,它是临时从master主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master主分支上,如图所示:
使用如下的命令,可以查看当前Git仓库中所有的分支列表:
git branch
注意:分支前面的*表示当前所处的分支
使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:(所以开发时我们需要在主分支上创建新分支)
git branch 分支名称
使用如下的命令,可以切换到指定的分支上进行开发:
git checkout 分支名称
使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:
1 #-b表示创建一个新分支 2 # checkout表示切换到刚才新建的分支上 3 git checkout -b 分支名称
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master主分支上:
1 切换到master分支 2 git checkout master 3在 master 分支上运行 git merge 命令,将要合并分支的代码合并到 master分支 4 git merge 分支名称
当把功能分支的代码合并到master主分支上以后,就可以使用如下的命令,删除对应的功能分支:
git branch -d 分支名称
如果在两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并它们。此时,我们需要打开这些包含冲突的文件然后手动解决冲突。
1#假设:在把reg分支合并到 master分支期间,代码发生了冲突 2 git checkout master 3 git merge reg
发生冲突:
打开冲突的文件手动解决(也可以使用vs code的辅助解决(红色圈里面))
解决后重新提交和合并
#打开包含冲突的文件,手动解决冲突之后,再执行如下的命令 git add . git commit -m“解决了分支合并冲突的问题" git merge 分支名称
如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:
1#-u表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带-u参数 2 git push -u 远程仓库的别名 本地分支名称:远程分支名称 3 4#实际案例: 5 git push -u origin payment: pay 6 7#如果希望远程分支的名称和本地分支名称保持一致,可以对命令进行简化: 8 git push -u origin payment
如果不是第一次将本地分支推送到远程仓库,需要运行如下的命令:
则切换到要推送的分支后直接git push 就可以将本地分支推送到远程仓库
git remote show 远程仓库名称
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。需要运行的命令如下:
可以使用如下的命令,把远程分支最新的代码下载到本地对应的分支中:
1#从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致 2 git pull
可以使用如下的命令,删除远程仓库中指定的分支:
1 #删除远程仓库中,指定名称的远程分支 2 git push 远程仓库名称 --delete 远程分支名称 3 #示例: 4 git push origin --delete pay
推荐学习:《Git学习教程》
以上是Git分支图文详解的详细内容。更多信息请关注PHP中文网其他相关文章!