好像我必须学会使用git.这可能是一件好事(TM).然而,阅读在线指南和手册页,我无法理解术语.一切都总是根据自己或其他无法解释的术语来定义(做一个"男人git",你明白我的意思).
那么,是否有更多类似DAG的术语定义结构,包括以下一些(全部取自git手册页!).也许使用文件系统作为起点,而不是假设读者精通svn(我不是).
虽然我可以找到一些解释,但它们通常是另一方面的解释.还有一些我从其他上下文中知道的术语(比如UNIX差异).然而其他一些我认为我知道...
我已经收集到存储库(类似于gits?和/或树?上游?),您复制(克隆?分支?)以将文件物理地存储到您的硬盘驱动器.那么有分支(类似于变更集?),标签和提交(类似于补丁?),但它们的区别并不清楚.什么文件做什么修改?是什么让我的文件保持在本地,什么可能(天堂禁止)将我的代码提交给互联网?
当涉及分支,标签和提交时,建议的工作方式是什么 - 因此可以在版本之间交换,并从公开可用的gits导入更新.
// T,咬着舌头控制自己的沮丧......
一堆意大利面条刚落在我的桌子上,我的任务是理解它(所以我可以重构/重新实现它).
代码是C,以及一堆全局变量,结构类型和函数调用.
我想用信息绘制代码
图:- 调用图
- 哪些结构类型用于哪些函数
- 哪个全局变量用于什么函数
希望这样可以更容易地识别连接的组件,并将它们提取到单独的模块中.
为了类似的目的,我尝试了以下软件:
- ncc
- ctags
- codeviz/gengraph
- doxygen
- egypt
- cflow
EDIT2:
- frama -c
- snavigator
- 了解
这些的缺点要么是
a)要求我能够编译代码.我的代码无法编译,因为缺少部分源代码.
b)预处理器宏的问题(如cflow,谁想要执行#if语句的两个分支).通过cpp运行会弄乱行号.
c)我出于某种原因无法让软件做我想做的事情(比如doxygen;调用图生成的文档不容易找到,因为它似乎无法绘制变量/数据类型,可能不值得花更多时间学习doxygen的配置选项).编辑:我确实遵循了这些Doxygen instrcutions,但它只绘制了头文件依赖项.
我在Linux上,所以如果该软件适用于Linux和免费软件,那将是一个巨大的优势.不确定我的老板是否明白需要购买可视化器:-(
例如:一个命令行工具列出了在哪些函数中引用符号(=函数,变量,类型)将会有很大的帮助(如addr2line,但对于类型/变量名称/函数和源代码).
//Ť