如何仅使用分支名称而不是单个提交来鸟瞰 git 树?

发布于 2024-12-16 10:25:55 字数 279 浏览 0 评论 0原文

我喜欢 git 的功能,它为我提供了一个可视化树,显示提交如何在各个分支上流动,但是如果提交很多,您可能会淹没在细节中。

我想知道如何在没有所有单独提交的情况下获得分支结构的基本轮廓,但无论如何都将分支名称放在正确的位置。

很像 gitk --all . ,但随后缩小了一点。

建议?


编辑:2013-03-16 - 我仍然没有找到一个好的解决方案。然而,我发现由于某种原因,Git Extensions 中的历史视图比 Eclipse 中的历史视图提供了更好的信息。

I like the ability of git to give me a visual tree showing how the commits flow on various branches, but with a lot of commits you may drown in detail.

I was wondering how I can just get the basic outline of the branch structure without all the individual commits, but with branch names put in the right locations anyway.

Much like gitk --all . but then zoomed a bit out.

Suggestions?


EDIT: 2013-03-16 - I have still not found a good solution to this. I've found however that the history view in Git Extensions for some reason gives better information than the history view in Eclipse.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

乱了心跳 2024-12-23 10:25:56

您可以使用 --simplify-by-decoration 选项:

gitk --simplify-by-decoration --all

如果您是 CLI 迷,那么在控制台中也可以执行相同的操作:

git log --oneline --decorate --graph --simplify-by-decoration --all
* a6b4b080e4 (origin/next) Merge branch 'jk/plug-list-object-filter-leaks' into next
| * 12f70ac9b5 (origin/seen) Merge branch 'jk/proto-v2-ref-prefix-fix' into seen
|/  
* 79f2338b37 (origin/master, origin/main, origin/HEAD) The eighteenth batch
* ac8035a2af (tag: v2.37.3, origin/maint) Git 2.37.3
* ad60dddad7 (tag: v2.37.2) Git 2.37.2
* bbea4dcf42 (tag: v2.37.1) Git 2.37.1
*   69ab3309e9 Sync with Git 2.36.2
|\  
| * fd59c5bdee (tag: v2.36.2) Git 2.36.2
| *   8f8eea8c3a Sync with 2.35.4
| |\  
| | * 359da658ae (tag: v2.35.4) Git 2.35.4
| | *   aef3d5948c Sync with 2.34.4
| | |\  
| | | * f2eed22852 (tag: v2.34.4) Git 2.34.4
| | | *   378eaded1a Sync with 2.33.4
.
.
.

You can use the --simplify-by-decoration option:

gitk --simplify-by-decoration --all

And if you are a CLI junkie, the same is possible in the console as well:

git log --oneline --decorate --graph --simplify-by-decoration --all
* a6b4b080e4 (origin/next) Merge branch 'jk/plug-list-object-filter-leaks' into next
| * 12f70ac9b5 (origin/seen) Merge branch 'jk/proto-v2-ref-prefix-fix' into seen
|/  
* 79f2338b37 (origin/master, origin/main, origin/HEAD) The eighteenth batch
* ac8035a2af (tag: v2.37.3, origin/maint) Git 2.37.3
* ad60dddad7 (tag: v2.37.2) Git 2.37.2
* bbea4dcf42 (tag: v2.37.1) Git 2.37.1
*   69ab3309e9 Sync with Git 2.36.2
|\  
| * fd59c5bdee (tag: v2.36.2) Git 2.36.2
| *   8f8eea8c3a Sync with 2.35.4
| |\  
| | * 359da658ae (tag: v2.35.4) Git 2.35.4
| | *   aef3d5948c Sync with 2.34.4
| | |\  
| | | * f2eed22852 (tag: v2.34.4) Git 2.34.4
| | | *   378eaded1a Sync with 2.33.4
.
.
.
嘴硬脾气大 2024-12-23 10:25:56

我有一个 Ruby 脚本,它使用 graphviz 来显示存储库。它在非常大的存储库上消失(但您可以稍微调整它以不显示太多中间提交)。我在 git 培训期间使用它,并且发现它很有用。

更新:
我在这里写了关于它的博客。有图表的图片以及有关如何使用脚本的注释。

I have a little Ruby script that uses graphviz to display a repository. It dies on really large repositories (but you can tweak it a little to not display too many intermediate commits). I use it during my git trainings and I've found it useful.

Update:
I blogged about it here. There are pictures of the graphs as well as notes on how to use the scripts.

子栖 2024-12-23 10:25:56

对于那些正在寻找 GUI 替代方案的人。我使用 GitUp 进行分支可视化。用户界面看起来时尚干净。不过,GitUp 可用于编辑 Git 存储库。我只使用它的可视化工具。它是免费、开源的,并且只有 9.1 MB。

输入图片此处描述

另一个 GUI 工具是 Git 客户端,例如 Atlassian 的 Source Tree、Git Kraken 或 Git Tower。这些客户端通常具有内置的 Git 可视化工具。

For those who looking for GUI alternative. I use GitUp for Branch Visualisation. The UI looks sleek and clean. Although, GitUp can be used for editing Git repo. I only use its Visualisation tool. Its free, open source, and only 9.1 MB.

enter image description here

Another GUI tool is Git Client like Atlassian's Source Tree, Git Kraken or Git Tower. Those Client usually have built-in Git Visualisation tool.

蒗幽 2024-12-23 10:25:55

使用提示。 com/questions/3666953/showing-git-branch-struct/">问题 VonC 链接在评论中,以下内容就足够了:

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

Using a hint from the question VonC linked in the comments, the following should suffice:

git log --oneline --decorate --all --graph --simplify-by-decoration
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文