当前位置:   article > 正文

git版本管理软件——git分支管理_记录 分支 软件

记录 分支 软件

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

git分支管理流程图

这里写图片描述

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

git分支 git branch

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

创建git分支 git branch branchname

命令:git branch branchname
  • 1

创建分支很简单,仅仅输入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$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

跳转分支 git checkout branchname

git checkout branchname
  • 1

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$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

修改分支名字 git branch -m

命令:git branch -m old_branch_name new_branch_name
  • 1

修改名字的效果如下。

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$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

删除分支 git branch -d

命令:git branch -d branch_name
  • 1

删除分支的效果如下

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$
  • 1
  • 2
  • 3

推送分支 git push

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

命令:git push origin branch_name
  • 1

效果如下。

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$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

也可以全部推送

命令:git push origin –all
  • 1

效果如下

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$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/406645
推荐阅读
相关标签
  

闽ICP备14008679号