如何搜素git某个分支是否存在?

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 如何搜素git某个分支是否存在?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

如何搜素git某个分支是否存在?

背景

我们可能有这样需求,搜索某个分支名或revision,看是否存在。要怎么搜索呢?

搜索分支名是否存在

  • 可以在服务器上搜索,比如你的Github或Gitlab,登录上去网页版搜分支名(不过只能搜remote的分支,本地的自然是不行的)

  • 本地搜,本地执行 git br -a 搜索(-a的意思是本地和远程的都搜出来)

    细节非常重要,不然分支存在你也会误以为不存在!!!

    第一,先要更新,使用 git remote update origin --prune 更新

    第二,需要注意使用 git br -a 的时候进入类似Linux中使用vim/vi查看文件时的样子,按下 /后输入关键字搜索,区分大小写,关键词可匹配左中右,重点搜索关键词后查下一个匹配到尾后不会回到开始,如果你从中途搜,可能感觉搜不到,这时候记得要使用n和大写的N来回找一下。

    在这里插入图片描述

搜索某个revision(或commit id)是否存在

可以本地使用git命令搜索,一般可以用git log 或 git lol 来搜索,git lol 是定义了别名,相当于 git log --oneline --decorate --graph --all,执行后同样进入类似Linux的vi/vim页面,进行搜索即可。需要注意的是同样搜索要注意使用n和N来回搜索,避免因为单向不循环问题明明存在的却搜不出来。

第二个需要注意的点是revision或者说commit id是7位的,别在别的地方拷贝了完整长度的id或者超过7位的id来搜。

在这里插入图片描述

补充

git fetchgit remote update origin --prune 的区别

  • git fetch 拉取分支,远程被删除的分支不会同步删除本地origin的分支(origin/xxxx)

    比如你有个本地分支feat,然后也有本地origin/feat,假设remote新增了test分支且其他人删除了remote的feat

    则git fetch可以在本地产生origin/test(但没有本地分支test,这个要你checkout到test的时候才会产生),但不会删除本地的origin/feat

  • git update origin –prune:必须带有–prune,否则跟git fetch等价。除了会拉取新分支,还会删除掉别人远程删除的分支

    按上面的例子,执行这个命令后可以拉取origin/test(但没有本地分支test),且删除本地的origin/feat(但不会删除你本地的分支feat)

其实通过上面可能你隐约可以感觉到分支好像有三个地方:第一个是local,一般名字如 test;第二个比较让人疑惑,是origin/test 这个是你本地的;第三个是remote的即远程的分支,即仓库上的分支,这个不知道怎么表达,或者可以写作 remotes/origin/test 来表达这个分支?

第二个最难理解,可以多思考多动手多理解。

补充:

1、git remote update origin --prune 可以不要 --prune 参数吗?不行!!!,如果不加则跟git fetch是一样的效果,即新增加的分支能fetch下来,但是被删掉的分支却不能同步删掉本地的origin的

2、顺便说下 git fetch 和 git pull 的区别,git pull 包含 git fetch和git merge,这里是git merge不是说不同分支名的那个合并,是同分支名的,比如test分支,执行git pull后得到本地最新的origin/test,然后merge到本地的test分支,其实类似于执行 git merge origin/test 把?!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/135071.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!