首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gitk理解指南?

gitk理解指南?
EN

Stack Overflow用户
提问于 2009-10-15 05:59:45
回答 4查看 61.6K关注 0票数 86

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

有没有什么好的参考资料,比如“gitk的git历史初学者指南”?

EN

回答 4

Stack Overflow用户

发布于 2009-10-15 07:29:33

我从来没有见过任何专门针对gitk的东西。从“它是如何工作的”的角度来看,这是一种尝试。了解所有内容背后的命令(或者至少通常是等效的)有助于更容易地学习使用命令行工具,还可以向您展示在何处查找文档以更好地理解gitk!

文件菜单

这在过去的几个主要版本中发生了一些变化--我描述的是当前状态。

  • 更新和重新加载:这可能是最令人困惑的事情。重新加载会刷新所有内容,就像使用相同的配置重新启动程序一样。这意味着如果一个分支已经被移除/重新建立基础,如果一些提交现在悬而未决,你就再也看不到它们了。另一方面,Update刷新所有信息,但仍然显示先前显示的所有提交。这是一个很好的东西,如果你正在重建基地,并希望确保你没有搞砸-你可以看到原始的和重新基地的versions.
  • references:非常明显。引用包括标记和分支(可能是远程的)。您可以重新阅读它们,然后单击列表以将其显示在历史记录中。

视图

正如man page所说,gitk采用git-rev-list选项来帮助指定应该显示哪些历史记录。这些也可以在“视图”菜单中进行交互设置。手册页是一个很好的地方,可以找到有关控制视图方式的更多信息(主要在提交限制部分)。如果你以前看过git-log,你会看到很多这样的东西。

帮助

这里有一个键绑定列表!甜。

上下文菜单

这提供了几个常见的git瓷器命令,通常处于通用/默认操作模式。列出它们将至少帮助您找到正确的文档来了解它们的功能,如果您还没有这样做的话!

  • git-diff (Diff This <-> selected
  • git-format-patch (make patch)
  • git-tag (create tag)
  • git-diff-tree (write commit to file,很少used)
  • git-branch
  • git-cherry-pick
  • git-reset (将分支重置到此处))这将提示您选择软分支、混合分支或硬分支,并简要提示每个分支的作用。手册页上有更长的描述,但当然你必须理解索引的概念才能真正理解它。

"mark a commit“和相关命令在这一点上应该是不言而喻的。

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

中间部分

  • SHA1 ID:当前提交的哈希。非常适用于复制/粘贴到终端中,以便对您使用gitk查找的给定提交执行操作。你也可以粘贴散列到here.
  • Forward/back按钮,行号...obvious!
  • Find!这里的选项同样是不言自明的,但对于每个人的教育来说,它们都类似于git-log参数:“包含”是--grep,“触摸路径”是参数,添加/删除字符串是-S (截取)。

消息/比较窗格

这里我们有提交消息和git-diff的输出--这有点像使用git-log -p,只是多了一点:

分支的“git branch -a --contains=<commit>

  • "Precedes"/"Follows”“等同于(git-describe)

  • 等同于git describe [--contains] <commit>
票数 95
EN

Stack Overflow用户

发布于 2012-07-02 18:52:44

这里通过截图介绍了gitk中分支历史的可视化。

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

  1. 左上窗格显示了对此存储库的一系列提交,最近的提交在顶部。
  2. 已经提交了三次,都是由托尼·斯塔克完成的。
  3. 最近一次提交的提交消息是“third commit”
  4. 只有一个本地分支,名为“

”,它指向最近的提交源<>H112有一个远程引用分支:来自远程存储库的名为“”的“主”分支,它还指向最近的提交

  1. 顶部提交旁边的黄点表示这是当前在我的工作文件夹中的快照(称为HEAD)
  2. 我突出显示了第二次提交,以便我可以在下面的窗格中查看其详细信息
  3. 第二次提交的唯一标识符(唯一标识符,类似于subversion修订号)是

右下角显示受第二次提交差异影响的文件列表左下角显示提交详细信息,包括完整的3d024dd9e4a83d8c6a9a143a68b75d4b872115a6

  • The diff

  • Clicking右下角窗格中的文件将左下窗格中的差异滚动到相应的部分12.
票数 24
EN

Stack Overflow用户

发布于 2010-02-19 03:36:44

在“gitk和历史的结合”方面,新手可以真正使用的是如何通过查看gitk树视图来识别发生的事情的具体解释。

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

代码语言:javascript
复制
 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 ... ?

截图也会很受欢迎。

该树实际上表示存储库的当前状态。如果我们能够通过查看树视图来判断发生了什么,那就太好了。

谢谢

v。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1570535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档