git branch分支怎么玩来看看吧

简介: 有时候我们在开发的过程中,难免有很多不一样的情况,有时候可能就需要根据本地的分支进行创建临时的分支,然后又有时候需要根据同事创建的远程分支,再来创建本地分支。

image.png


在使用git的过程中,分支的使用应该是非常多的。github.com 之前的默认分支为 master ,但后来由于不得已的原因将默认分支改为了 main


前言 分支的管理,在git工具中应该是很长用的,本篇我将对我之前在工作中使用的分支相关命令进行总结。


1、查看分支


// 查看本地分支
git branch
// 查看远程分支
git branch -r
// 查看本地分支和远程分支,如果不存在需要git fetch一下
git branch -a


2、 修改分支名称


// 修改当前本地分支的名称
git branch -m branch-name
// 也可以修改指定的分支  原分支名称  新分支名称
git branch -m master main


3、创建分支


有时候我们在开发的过程中,难免有很多不一样的情况,有时候可能就需要根据本地的分支进行创建临时的分支,然后又有时候需要根据同事创建的远程分支,再来创建本地分支。


3.1、根据本地分支创建分支


  • 根据当前分支直接创建dev分支


git branch dev


  • 另外一种方式


或者分支较多的情况下,先切换分支,切换到你想要依据那个分支去创建分支,然后根据这个分支进行创建分支


git checkout main
git branch dev  // 依据main分支创建dev分支


  • 依据当前分支,创建dev分支并切换到dev分支


git checkout -b dev


3.2、根据远程分支创建分支


test为远程仓库的分支,而tester为我们本地要创建的分支名称


git fetch origin test:tester
git checkout tester


如果本地暂时不存在这个test分支,可能是同事等签入到了远程服务器,此时就可以通过上面的命令进行创建。


注意:这里我故意将远程分支 test 和本地分支 tester命名不同,就是想说明,远程分支和本地分支并不一定要求分支名称一样,只需要做好对应关系就可以了。


3.3、创建空的分支


有时候我们因为某些情况,可能并不想创建新的仓库,便直接在本仓库创建一个空的分支即可。


git checkout --orphan gp


这个命令根据当前分支创建了一个分支,并且这个分支不与其他任何分支有关联。但是其中的项目文件是还在的,我们需要通过删除指令来将文件删除


git rm -rf .  


通过递归将文件夹以及文件进行删除,注意最后又一个 "." 。


通过两部操作,从而达到创建空的分支的目的。


3.4、根据某个提交来创建分支


根据commitid来创建分支,并切换到新分支
git checout -b new-branch-name commitid
//第二种方式,同样会切换到新分支
git checkout commitid
git switch -c new-branch-name


那么这个 commitid是哪里来的呢?


image.png


通过截图可以发现,commit 后那一长串字符串就是commitid了。


4、删除分支


// 比如你要删除dev分支,要先切换到其他分支
git checkout main
// 删除本地分支
git branch -d dev
// 如果删除不了,可以进行强制删除
git branch -D dev
// 有必要的情况下,删除远程分支但是要谨慎使用
git push origin --delete dev


有时候根据功能需求,创建了无数个feat/xxx分支,想要一个一个删除不是不行,但是有时候真的太多了,那有没有批量删除呢


git checkout main
git branch | grep -v "master" | grep -v "dev" | grep -v "main"  | xargs git branch -D


请先切换到不会被删除的分支上执行,除了-v后的master分支、dev分支、main分支不会被删除,其他的都会被删除。


4、查看本地分支与远程分支的关联


git branch -vv


image.png


可以查看到本地两个分支与远程两个分支的关联


5、总结


  • 了解分支的查看、修改、创建和删除


  • 了解如何创建一个空的分支


  • 了解如何进行批量删除分支
目录
相关文章
|
2月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
527 0
Git教程:深入了解删除分支的命令
|
2月前
|
开发工具 git 开发者
|
2月前
|
开发工具 git
|
1月前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
29 2
|
2月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
2月前
|
开发工具 git 开发者
|
2月前
|
开发工具 git
|
1月前
|
开发工具 git
idea的git reset current branch to here操作详解
idea的git reset current branch to here操作详解
34 1
|
1月前
|
开发工具 git
git切换到另一分支更改也会随之过去
git切换到另一分支更改也会随之过去
24 1
|
1月前
|
开发工具 git
git将一个远程分支的部分修改提交到另一个远程分支
git将一个远程分支的部分修改提交到另一个远程分支
14 1