git版本管理软件——git分支管理

本文详细介绍了Git的分支管理,包括创建、切换、删除分支,推送与获取远程分支,分支合并与解决冲突,以及标签管理。通过实例操作演示了如何在不同场景下灵活运用Git分支,确保代码开发与维护的高效有序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码添加到一定阶段,就需要创建分支管理,比如新加一个功能,但有想功能能不影响主线代码的开发,就可以将主线开一条分支,分支的功能和主线一模一样,在分支上新加和测试功能,功能添加成功后,就可以将该功能的分支合并到主线上面去。也可以将分支创建成稳定版,测试版等多条分支的基本功能可以同步开发。还可以为修复bug创建分支,代码主干有bug,但修复时间长,主干还要继续开发。这时就在主干开出一条bug分支,主干照常添加功能,bug分支则修复bug,等修复完之后,将bug分支合并到主干上面就可以了。

git分支管理流程图

这里写图片描述

一个项目,不同的人负责不同的分支功能,由一个管理员负责合并分支。

git分支 git branch

分支可以将当前开发的代码根据开发项目的不同划分成的不同版本,在分支中开发,不会影响主干master的代码也不影响其他分支的进行,在开发一个新功能时,应在一个新的分支上开发,调试完成后,确认没有问题,可以将该分支的新功能合并到主干master中。在分支开发中,为了不影响进度,也可以为分支更新。比如主干master添加了一项大众的功能或者修补了某个漏洞,也可以通过分支的命令,将主干的改动同步到分支中,分支和主干是各自独立的,分支的代码也可以同步到主干中。

创建git分支 git branch branchname

命令:git branch branchname

创建分支很简单,仅仅输入git branch + 分支名就可以,代码版本中的所有分支可以通过git branch来查看,查看该代码库中所有本地和远程的分支可以通过命令git branch -a来查看。
命令:git branch -a

ghost@ghost-machine:~/project$ git branch -a
* master
  v1.1
  v1.2
  v1.3
  remotes/origin/master
ghost@ghost-machine:~/project$

跳转分支 git checkout branchname

git checkout branchname

git checkout有很多功能,其中在后面输入分支名后就是检出git分支功能,也就是跳转功能。

ghost@ghost-machine:~/project$ git checkout v1.1
切换到分支 'v1.1'
ghost@ghost-machine:~/project$ git branch
  master
* v1.1
  v1.2
  v1.3
ghost@ghost-machine:~/project$

如果分支是新建的,在跳转到该分支之后,分支的进度与主干master一样,跳转之后可以在该分支修改代码,添加功能、修复漏洞和测试,此时修改后的代码仅仅在该分支有效,与主干无关,代码修改不影响主干,如果主干需要改动,也可以通过git checkout master命令跳回主干,主干的代码和跳到分支之前的一样,分支上的改动还原回主干的代码。其实主干就是一个命名为master的分支,在git clone的默认状态下,git会默认下载主干master分支。

修改分支名字 git branch -m

命令:git branch -m old_branch_name new_branch_name

修改名字的效果如下。

ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch
* master
  v1.1
  v1.2
  v1.3
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch -m v1.3 vtest
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch
* master
  v1.1
  v1.2
  vtest
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$

删除分支 git branch -d

命令:git branch -d branch_name

删除分支的效果如下

ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch -d delete_branch 
已删除分支 delete_branch(曾为 8602795)。
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$

推送分支 git push

在本地将分支创建好后,使用git push想把分支推送到远程仓库中,但是会发现显示的是Everything up-to-date,原因是远程仓库默认的分支是master,所以master没有改变就没有推送的必要,这时需要推送的另一个命令,将分支推送给远程仓库。

命令:git push origin branch_name

效果如下。

ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git push 
Everything up-to-date
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git push origin v1.1
Total 0 (delta 0), reused 0 (delta 0)
To /home/ghost/warehouse/Project_test.git/
 * [new branch]      v1.1 -> v1.1
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git push origin v1.2
Total 0 (delta 0), reused 0 (delta 0)
To /home/ghost/warehouse/Project_test.git/
 * [new branch]      v1.2 -> v1.2
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git push origin vtest 
Total 0 (delta 0), reused 0 (delta 0)
To /home/ghost/warehouse/Project_test.git/
 * [new branch]      vtest -> vtest
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$

也可以全部推送

命令:git push origin –all

效果如下

ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch v1.4
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git branch v1.5
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$ git push origin --all
Total 0 (delta 0), reused 0 (delta 0)
To /home/ghost/warehouse/Project_test.git/
 * [new branch]      v1.4 -> v1.4
 * [new branch]      v1.5 -> v1.5
ghost@ghost-machine:~/workspace/test/ghost_project/Project_test$

获取远程分支git pull、git fetch

用法:
git pull origin v1.1 将远程的v1.1
分支合并入当前的分支上

gi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值