最近,如果您的 C 代码发生在我们的代码库上,则进行了一次大型重构。我想使用 git 列出已更改的结构/函数调用名称的快速列表。下面是我是如何做到这一点的。
最佳答案
使用 git 查找整个单词的差异,而不是行差异
git diff dev --word-diff-regex="([a-zA-Z0-9_]+)"
通过 sed 进行管道传输以查找清理输出。 你会得到类似的输出
[-旧名称-]{+新名称+}
构建正则表达式以输出 OldName NewName
sed -n "s/.*\[-\([a-zA-Z_]*\)-\]{+\([a-zA-Z_0-9]*\)+}.*/\1 \2/p"
将其与 uniq 结合起来,并对更改名称的初始列表进行排序。
git diff dev --word-diff-regex="([a-zA-Z0-9_]+)" | \\ sed -n "s/.*\[-\([a-zA-Z_]*\)-\]{+\([a-zA-Z_0-9]*\)+}.*/\1 \2/p" | \\ sort | \\ uniq
关于c - git diff 查找 c 中的重构名称更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53355191/