背景:我曾经参与的一个项目更改了其许可证,我想知道我的代码在最终产品中还剩下多少。
如何使用旧的提交ID将该提交中的更改与任何分支的最新提交的当前代码进行比较?
例如:我添加了一些代码
int b = j+k; updateRefs(b,k);
后来这段代码被修改为
int b = j+m; updateRefs(b,k);
我如何查看我的代码(不包括updateRefs(b,k);)在分支的最新提交中还剩下多少?
updateRefs(b,k);
在使用Git比较旧的提交与分支最新提交时,出现了无法准确找到最后一次修改的原因。解决方法是使用git blame命令,并通过grep命令过滤输出。例如,在我的一个项目上运行以下命令(限制输出为10行,因为我是唯一的贡献者):$ git blame CMakeLists.txt | grep Stephen | head -n 10。这将显示最后一次修改每行的贡献者,但会忽略某些情况(例如,对空格的更改或向行添加的注释)。可以使用-w参数告诉git blame忽略空格更改,从而获得更准确的结果。
git blame
grep
$ git blame CMakeLists.txt | grep Stephen | head -n 10
-w
用户名或电子邮箱地址
密码