在git中可视化分支拓扑

我在自己的机器上孤立地使用git,并且发现很难维护我所有分支和提交的思维模型。我知道我可以git log从自己所在的位置查看提交历史,但是有没有办法查看整个分支的拓扑结构,例如这些ascii映射,似乎在各处都用于解释分支?


      .-A---M---N---O---P

     /     /   /   /   /

    I     B   C   D   E

     \   /   /   /   /

      `-------------'

感觉就像有人进来并尝试拿起我的存储库将很难弄清楚到底发生了什么。


我想我受AccuRev的流浏览器的影响了...


慕码人2483693
浏览 625回答 3
3回答

qq_花开花谢_0

git log --graph或gitk。(两者也都接受--all,这将显示所有分支,而不仅仅是当前分支。)编辑: 对于分支名称和紧凑视图,请尝试:git log --graph --decorate --oneline

小唯快跑啊

我通常使用git log --graph --full-history --all --pretty=format:"%h%x09%d%x20%s"使用颜色(如果您的外壳是Bash):git log --graph --full-history --all --color \        --pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s"这将打印基于文本的表示形式,如下所示:* 040cc7c       (HEAD, master) Mannual is NOT built by default* a29ceb7       Removed offensive binary file that was compiled on my machine and was hence incompatible with other machines.| * 901c7dd     (cvc3) cvc3 now configured before building| * d9e8b5e     More sane Yices SMT solver caller| | * 5b98a10   (nullvars) All uninitialized variables get zero inits| |/| * 1cad874     CFLAGS for cvc3 to work succesfully| *   1579581   Merge branch 'llvm-inv' into cvc3| |\| | * a9a246b   nostaticalias option| | * 73b91cc   Comment about aliases.| | * 001b20a   Prints number of iteration and node.| |/|/|| * 39d2638     Included header files to cvc3 sources| * 266023b     Added cvc3 to blast infrastructure.| * ac9eb10     Initial sources of cvc3-1.5|/* d642f88       Option -aliasstat, by default stats are suppressed(您可以只使用git log --format=oneline,但是它将提交消息与数字绑定在一起,恕我直言看起来不太漂亮)。要为此命令创建快捷方式,您可能需要编辑~/.gitconfig文件:[alias]  gr = log --graph --full-history --all --color --pretty=tformat:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s%x20%x1b[33m(%an)%x1b[0m"但是,正如Sodel the Vociferous在注释中指出的那样,很难记住这么长的格式化命令。通常,这不是问题,因为您可以将其放入~/.gitconfig文件中。但是,如果有时您必须登录到无法修改配置文件的远程计算机,则可以使用更简单但输入速度更快的版本:git log --graph --oneline
打开App,查看更多内容
随时随地看视频慕课网APP