Git 如何检查特定的远程存储库分支是否包含特定的合并分支?
我想检查远程Git存储库上的分支是否包含具有特定名称的合并分支。例如:Git 如何检查特定的远程存储库分支是否包含特定的合并分支?,git,branching-and-merging,Git,Branching And Merging,我想检查远程Git存储库上的分支是否包含具有特定名称的合并分支。例如: git ls-remote origin | egrep 'some_branch_name|merge' 在www.example.com:/repo.git上有一个远程存储库 在该存储库中,有一个名为myBranch的分支 我想检查像myFeatureBranch这样的特定功能分支是否已合并到myBranch中 如果我克隆了存储库并签出myBranch,我可以执行git show ref--verify refs/
git ls-remote origin | egrep 'some_branch_name|merge'
- 在
上有一个远程存储库www.example.com:/repo.git
- 在该存储库中,有一个名为
的分支myBranch
- 我想检查像
这样的特定功能分支是否已合并到myFeatureBranch
中myBranch
myBranch
,我可以执行git show ref--verify refs/heads/myFeatureBranch
,但这不是我想要做的。我必须在不克隆的情况下使用远程分支
我已经玩过
git ls remote--heads www.example.com:/repo.git
,但我得到的只是一个远程头列表。以前有人这样做过吗?您不能在远程设备上执行命令。它只是一种同步机制。您需要克隆以执行常规命令
您可能需要查找git分支-a--containsgit按设计在本地运行
Git的分布式本质基本上是围绕两个基本概念设计的:
git ls-remote origin | egrep 'some_branch_name|merge'
将在远程设备上打印与您要查找的命名分支匹配的引用,或(对于GitHub)从合并的拉取请求创建的引用,例如:
381a77fd72ea594cfce5c82c845ad3d10bb87d71 refs/pull/99/merge
git ls remote命令显示远程存储库中可用的引用以及相关的提交ID。但是,如果您想找出哪个分支包含给定的提交,您需要访问完整的历史记录;这要求您具有本地副本
查找包含合并提交的分支
我所知道的处理此问题的最佳方法如下:
git log--merges
查找所需的合并提交git branch--all--contains
查找包含的分支这将为您提供一个包含指定提交的分支列表。远程头列表不包括该分支吗?是的,但它没有指定任何有关历史结构的内容。也就是说,它不会走到那种程度。谢谢你,这不是好消息。。。因此,我必须找到另一种方法,可能是在服务器上克隆存储库,然后通过shell或类似的方式进行通信。:)如果您拥有服务器,则无需重新连接。您也可以在裸回购上执行这些命令。但是您需要ssh到该机器,并按照您所说的在该机器上执行。