我正在向开发人员团队介绍git,我发现gitk是一个了不起的工具。这也很难理解,因为了解gitk要求同时了解git历史记录和查看器工具本身。
是否有人对“使用gitk的git历史入门指南”有什么好的参考?
我正在向开发人员团队介绍git,我发现gitk是一个了不起的工具。这也很难理解,因为了解gitk要求同时了解git历史记录和查看器工具本身。
是否有人对“使用gitk的git历史入门指南”有什么好的参考?
Answers:
我从未见过专门针对gitk的东西。从“它如何工作”的角度来看,这是一个刺痛。了解所有内容(或至少等效的命令)背后的命令有助于学习更轻松地使用命令行工具,还可以向您展示在文档中的位置,以更好地理解gitk!
在最近的几个主要版本中,这已经有所改变-我正在描述当前状态。
更新并重新加载:这可能是最令人困惑的事情。重新加载将刷新所有内容,就像使用相同配置重新启动程序一样。这意味着如果分支已被删除/重新设置,如果某些提交现在悬而未决,那么您将不再看到它们。另一方面,更新会刷新所有信息,但仍会显示以前显示的所有提交。如果您要进行基础调整并希望确保自己不会搞砸,那么这是一件很棒的事情-您可以看到原始版本和重新设置的版本。
参考文献:相当明显。引用包括标签和分支(可能是远程的)。您可以重新阅读它们,并列出以单击特定的一个以在历史记录中显示它。
如手册页所述,gitk采用git-rev-list选项来帮助指定应显示的历史记录。也可以在“视图”菜单中进行交互设置。手册页是找到有关控制视图方式的更多信息的好地方(主要在提交限制部分)。如果您以前看过git-log
,将会看到很多这样的内容。
这里有键绑定列表!甜。
这通常在通用/默认操作模式下呈现几个通用的git Poland命令。列出它们至少可以帮助您找到合适的文档,以了解它们的功能(如果您还没有的话)!
此时,“标记为提交”和相关命令应该是不言自明的。
在分支的上下文菜单中,我们具有git-checkout和-d
git-branch的(删除)模式。
SHA1 ID:当前提交的哈希。对于将内容复制/粘贴到终端以对您使用gitk查找的给定提交执行操作非常有用。您也可以将哈希值粘贴到此处。
前进/后退按钮,行号...显而易见!
找!这里的选项还是很容易解释的,但是对于每个人的教育,它们都类似于git-log参数:“ containing”为--grep
,“ touching path”为参数,添加/删除字符串为-S
(pickaxe)。
这里我们有提交消息以及git-diff的输出-这有点像using git-log -p
,有点额外:
“分支”等同于 git branch -a --contains=<commit>
“ Precedes” /“ Follows”等效于git describe [--contains] <commit>
(git-describe)
git commit -a
甚至git add
是gitk。有什么我想念的吗?
git gui
。不过,这个问题与gitk有关,而gitk本质上是一个历史浏览工具(带有一些分支操作)。
这是gitk中分支历史记录可视化的介绍和屏幕截图。
http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/
- 左上方的窗格显示了对该存储库的一系列提交,最近的提交在最上面。
- 有三项提交,全部由Tony Stark完成。
- 最近一次提交的提交消息是“第三次提交”
- 有一个本地分支,名为“ master”,它指向最近的提交
- 有一个远程引用分支:远程存储库中名为“ origin”的“ master”分支,它也指向最新的提交
- 顶部提交旁边的黄点表示当前是我的工作文件夹中的快照(称为HEAD)
- 我突出显示了第二个提交,以便可以在下部窗格中查看其详细信息
- 第二次提交的提交SHA(唯一标识符,类似于Subversion版本号)为
3d024dd9e4a83d8c6a9a143a68b75d4b872115a6- 右下方显示了受第二次提交影响的文件列表
- 左下方显示提交详细信息,包括完整的差异
- 单击右下窗格中的文件会将左下窗格中的差异滚动到相应的第12节。
新手真正可以根据“ gitk和历史的结合”使用的是一个特定的解释,该解释如何通过查看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 ... ?
截图也将不胜感激。
该树实际上代表了存储库的当前状态。最好的是,如果我们能够通过查看树视图来判断发生了什么。
谢谢
v。