首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查" remote“是否确实是一个git remote

检查" remote“是否确实是一个git remote
EN

Stack Overflow用户
提问于 2018-08-11 06:19:35
回答 3查看 160关注 0票数 1

假设我有这样一个字符串列表:

代码语言:javascript
复制
remotes/origin/master
remotes/origin
origin/master
origin

如何判断字符串的开头是否是有效的遥控器?例如,

代码语言:javascript
复制
remotes/origin
origin

一般来说,两者都应该是有效的遥控器,对吗?如何确定这一点?

EN

回答 3

Stack Overflow用户

发布于 2018-08-11 07:08:31

好了,为了回答实际的问题(而不是我从示例中看到的那个我期望看到的):

代码语言:javascript
复制
git config --local --get-regexp "^remote\\.$yourname\\.url" >&- \
&& echo it\'s a remote

应该能很好的服务。我为常用的选项组合提供了别名,我在这里使用的是

代码语言:javascript
复制
git config --global alias.grl '!f() { git config --local --get-regexp "${@-.}"; }; f'

所以我在自己的工作中实际使用的测试应该是

代码语言:javascript
复制
git grl "^remote\\.$yourname\\.url" >&-  && echo it\'s a remote

为了测试远程跟踪分支的名称,我在第一次尝试时回答的问题是

代码语言:javascript
复制
[[ `git rev-parse --symbolic-full-name $anything` = refs/remotes/* ]] \
&& echo it\'s a remote

代码语言:javascript
复制
case `git rev-parse --symbolic-full-name $anything` in
refs/remotes/*)  echo yes ;;
esac

如果你没有使用bash

票数 3
EN

Stack Overflow用户

发布于 2018-08-11 06:39:31

origin是一个真正的git remote -一个包含本地克隆与之交互的远程存储库的URI的结构。

origin/masterremotes/origin/master是指远程origin上可用的master分支版本,根据this answer,这两种分支可以互换使用。

我建议查看this answer以了解更多细节(您的问题可能是重复的?)。

至于“我如何检查这是否是一个有效的遥控器”的答案--据我所知没有内置的方法,但this thread列出了一些很好的想法,如何将git命令链接起来进行检查。

票数 2
EN

Stack Overflow用户

发布于 2018-08-11 06:39:33

这是一种在git中查看姓名的奇怪方式...任何名字都行。您的所有示例都可以是本地分支。这可能会造成不必要的混乱,但没有什么可以阻止您命名本地分支机构

代码语言:javascript
复制
remotes/something

然后,如果您将其推送到上游,您的远程列表将显示如下内容

代码语言:javascript
复制
remotes/remotes/something

我会说,从一个没有上下文的字符串中,你不能假设任何东西。

检查某个字符串是否与您的存储库的某个遥控器匹配

代码语言:javascript
复制
git branch -r | grep yourString

应该能行得通。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51794673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档