【问题标题】:Exclude remotes from git log --graph从 git log --graph 中排除远程
【发布时间】:2014-05-09 01:17:08
【问题描述】:

我想展示我所有 git 分支之间关系的简单图表。到目前为止,我得到的最接近的是这个命令:

git log --graph --oneline --branches --decorate --simplify-by-decoration

但是,我从事的项目有 大量 由其他开发人员使用的我不关心的远程分支,并且它们包含在图表中使我很难看到我的分支之间的连接.我曾尝试添加--not --remotes="*",但这消除了如此多的提交,以至于我完全松散了树形结构,只得到了一个类似branch -v 的列表。

有什么建议吗?

编辑:我想使用标准命令行工具找到可能的最佳解决方案,因为我通常不在自己的计算机上工作,也不能依赖正在安装的其他第三方软件。

【问题讨论】:

  • 只需从您的存储库中删除您不关心的分支。你的回购是你的。您总是可以从上游取回它们。对于实现(几乎)相同效果的另一种方法,您可以在本地克隆您的 repo 并在克隆中工作,那里不会出现任何遥控器。
  • @jthill 这可能是要走的路,尽管新分支会经常创建。

标签: git


【解决方案1】:

这是一个粗略但有效的方法:

temp=`mktemp -u`
git clone -s --bare `git rev-parse --git-dir` $temp
git --git-dir=$temp log --graph --decorate --oneline --branches --simplify-by-decoration
rm -rf $temp

-s 选项告诉 git 制作一个可笑的轻量级克隆,git log 不需要工作树。

【讨论】:

    【解决方案2】:

    如何使用 gitg (linux) / gitx (OSX) 之类的 gui git 工具,您只能选择本地分支:

    【讨论】:

    • 抱歉,我应该提到我大部分时间都在没有能力安装新软件的信息亭和实验室工作。我们有 gitk,但它的过滤功能似乎与命令行 git 工具相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 2016-06-16
    • 2019-03-21
    • 2018-03-11
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多