git - 根据我的分支的提示列出所有比我的暂存分支更新的新提交(来自所有分支,包括获取的远程分支)?
问题描述
我正在寻找确切的命令来列出所有现有分支中未合并到我的分支中的所有提交(包括来自已获取的远程分支),这些提交基于我的暂存分支的尖端。
git log --all --remotes
我用它来列出所有的分支。
如何排除暂存分支中已有的一次?
解决方案
使用git log --branches --remotes ^staging
,或等效地,git log ^staging --branches --remotes
。
--all
如果您指的是所有引用(包括标签、注释等),则可以使用refs/stash
,但您特别指出了分支和远程跟踪名称,并为其--branches
生成--remotes
正确的匹配项。请注意,--branches
and--remotes
后面可能会=<pattern>
匹配特定的名称模式。
这里的技巧是否定语法(^X
或--not
后跟X
)告诉修订遍历代码排除命名的提交X
和任何可从X
. 正面的引用提供git log
了起点;负面引用提供了停止git log
的地方;然后遍历包含尚未访问的提交的优先级队列。因此,最初,队列以某种顺序查看(包含哈希 ID)所有分支提示和所有远程跟踪名称提示。Git 会访问第一个这样的提交,除非它被排除在外,即在git log
staging
staging
. Git 将该提交的父级放入队列中,然后访问队列中的下一个提交(除非它像以前一样被排除在外)。
推荐阅读
- javascript - 将 jquery 版本从 v2.1.3 更新到 v3.5.1 时需要考虑的事项
- android - 使用 Kotlin Coroutines 更新我的 TextView 会导致它崩溃:
- azure-data-factory - ADF SQL 链接服务连接失败
- javascript - 如何检查无效的用户 ID 和未禁止的用户
- keras - 用于视频输入的 LSTM
- docker - 运行 docker-compose build 后获取构建文件以在主机上持久保存
- vuejs2 - Vuetify Storybook remapInternalIcon 问题
- unity3d - 检查游戏对象名称 Unity
- react-native - 如何仅重新渲染标记而不是地图和标记
- python - 一个 jupyter 笔记本中的 ModuleNotFound 错误