指南了解gitk?

我正在向一个开发团队介绍git,我发现gitk是一个了不起的工具。 这也很难理解,因为理解gitk需要了解git历史和查看器工具本身。

有没有人有任何好的参考像“GitGit的Git历史的初学者指南”?

我从来没有看到任何具体的gitk。 从“如何运作”的angular度来看,这是一个刺戳。 了解一切背后的命令(或者至less基本相同)有助于学习更轻松地使用命令行工具,还可以显示在何处查看文档以更好地理解gitk!

文件菜单

这在过去的几个主要版本中有所变化 – 我正在描述当前状态。

  • 更新和重新加载:这可能是最令人困惑的事情。 刷新刷新所有内容,就像用相同的configuration启动程序一样。 这意味着,如果一个分支已经被删除/重新发布,如果现在有一些提交悬而未决,你不会再看到它们。 另一方面,更新会刷新所有信息,但仍显示先前显示的所有提交。 这是一个很好的使用,如果你正在重新devise,并希望确保你没有搞砸 – 你可以看到原来的和重新发布的版本。

  • 引用:很明显。 引用包括标签和分支(可能是远程的)。 你可以重新读取它们,并列出来点击一个特定的历史logging。

查看

正如手册页所说,gitk需要git-rev-list选项来帮助指定应该显示的历史logging。 这些也可以在“查看”菜单中交互设置。 手册页是一个很好的地方,可以find更多关于你可以控制视图的信息(主要在提交限制部分)。 如果你之前看过git-log ,你会看到很多。

帮帮我

这里有一个键盘列表! 甜。

上下文菜单

这提出了几个常见的git瓷器命令,通常在一个通用/默认的操作模式。 列出它们至less可以帮助你find正确的文档来理解他们做什么,如果你还没有的话!

  • git-diff (Diff this < – >选中
  • git-format-patch (make patch)
  • git-tag (创build标签)
  • git-diff-tree (写入提交到文件,很less使用)
  • git的分支
  • git的樱桃挑选
  • git-reset (重置分支到这里)这会提示你软,混合还是硬,并提示每个操作。 在手册页上有更长的描述,但是当然你必须理解索引的概念才能真正得到它。

在这一点上,“标记一个提交”和相关命令应该是不言自明的。

在分支的上下文菜单中,我们有git-checkout和git-branch的-d (delete)模式。

中段

  • SHA1 ID:当前提交的散列。 非常有用的复制/粘贴到terminal执行您使用gitkfind的给定提交的操作。 你也可以把哈希值粘贴到这里。

  • 前进/后退button,行号…显而易见!

  • 找! 这里的选项是非常明显的,但是对于每个人的教育,它们都类似于git-log参数:“ --grep ”是--grep ,“touching paths”是参数,添加/删除string是-S镐)。

消息/差异窗格

在这里,我们有提交消息以及git-diff的输出 – 这就像使用git-log -p ,稍微多一点:

  • “分支”相当于git branch -a --contains=<commit>

  • “先行”/“跟随”相当于git describe [--contains] <commit> ( git-describe )

这里有一个介绍gitk分支历史的可视化截图。

http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/

  1. 左上方的窗格显示了这个仓库的一系列提交,最近的一个提交。
  2. 托尼·斯塔克有三次提交。
  3. 最近提交的提交消息是“第三次提交”
  4. 有一个名为“master”的本地分支,它指向最近的提交
  5. 有一个远程引用分支:名为“origin”的远程存储库的“master”分支,它也指向最近的提交
  6. 顶部提交旁边的黄色圆点表示这是当前在我的工作文件夹中的快照(称为HEAD)
  7. 我已经突出了第二个提交,以便我可以在下面的窗格中看到它的细节
  8. 第二次提交的提交SHA(唯一标识符,类似于颠覆版本号)
    3d024dd9e4a83d8c6a9a143a68b75d4b872115a6
  9. 右下方显示受第二次提交影响的文件列表
  10. 左下方显示提交详细信息,包括完整的差异
  11. 单击右下窗格中的文件将左下窗格中的diff滚动到对应的部分12。

从“gitk与history的结合”的angular度来看,新手真的可以用什么来解释如何通过查看gitk树视图来识别发生的事情。

据我所知 – 正确的方式看树(当然):

  1. each node is a commit 2. ultimate parent is at the bottom 3. direct child to a commit is the one that happened first in the same branch (no matter who did it) 4. the node with 2 or more children indicates ... ? 5. merge commit node has 2 parents. 6. rebase is recognized ... ? 

截图将不胜感激。

树实际上代表了存储库的当前状态。 如果我们能够通过查看树视图来看看发生了什么,那将是一件好事。

谢谢

我唯一觉得有用的gitk界面是好的(多彩)分支机构概述..

如果你想要一个git的git,请检查Windows上的TortoiseGit或Mac上的GitX或Linux上的QGit。