如何搜索含未拉取远程分支在内的所有Git分支提交信息?
无法在不执行
git fetch的前提下搜索未拉取的远程分支提交信息 不行,你没办法在不执行git fetch origin(或类似同步操作)的情况下,搜索本地未拉取的远程分支(比如你提到的GitHub上的branch3)的提交信息。
原因
Git的本地仓库只会存储已经同步到本地的远程分支数据。未拉取的远程分支(比如GitHub上的branch3)的提交记录、分支信息都只存在于远程仓库服务器上,本地Git完全没有这些数据,自然无法通过本地命令进行搜索。
可行的替代方案(最小化同步成本)
如果你不想全量拉取所有远程分支,可以针对性地拉取目标分支,减少数据传输:
- 只拉取特定分支
branch3:
之后就可以用以下命令搜索该分支的提交:git fetch origin branch3git log --grep "搜索文本" origin/branch3 - 若要同时搜索本地已有的所有分支+刚拉取的
branch3,可以用:git log --grep "搜索文本" --all origin/branch3 - 如果需要拉取所有远程分支但不想拉取标签(减少数据量):
git fetch origin --no-tags
内容的提问来源于stack exchange,提问作者Milos Stojanovic
相关产品推荐
相关产品推荐

