在不同的Git分支中正确使用GNU Global标记文件

Mik*_*ger 5 git

我正在使用许多不同的Git分支开发一个大型C++项目.我们正在使用Git Flow模型.这意味着我经常在Git分支之间切换.我在Emacs中使用helm-gtags来导航代码.目前我还没有将GNU Global标记文件(GTAGS,GRTAGS,GPATH)置于Git版本控制之下,只要我改为在不同的分支上工作,它们就会保持不变.但这可能意味着标签文件中的符号在代码中不存在,反之亦然.我可以更新标记文件(helm-gtags-update-tags),但这不会删除代码中不存在的标记文件中的符号,它只会添加或更新代码中实际存在的符号.

在由Git控制的版本的代码中使用GNU Global标记文件的最佳方法是什么?是否应将标记文件添加到Git中以使它们特定于每个分支?或者我应该每次切换分支时删除标记文件以生成一组新的标记?或者还有另一种方式吗?

Sch*_*ern 0

由于标记文件与特定版本的代码相关联,我相信您应该将它们签入。

另一方面,它们是特定于一种代码处理风格的文件,因此通常不适用于项目,因此可以说不应该签入它们。它们会不断变化,并且给每次提交添加很多噪音。其他人都必须注意的噪音。

我的建议是研究配置 emacs,以便它在文件更改时自动更新其文件视图。这就是大多数现代编辑所做的。这是使用 inotify 的技术。或者,我知道这是异端邪说,也许是时候换一位新编辑了。我今年从 emacs 切换到Atom 。