Git的:显示用户在当前分支中添加的每一行
-
12-12-2019 - |
题
我希望某个"非技术人员"能够更好地了解我在某个github项目上工作时实际在做什么。我想创建一个文本文件,其中包含我添加到该项目主分支的所有代码。我想把它放在一个文本编辑器中,并向下滚动所有它,无论多少屏幕。这基本上就是我想要的,出于这个原因,"行数"或"字符数"统计不会产生相同的影响。
具体来说,我想展示的是:(第一选择)我添加过的所有行,即使它们后来被删除。
(第二选择)我在最新版本中贡献的所有行(我们只有一个分支)
有没有办法做到这一点,或者至少只是打印出当前分支中的所有行?(反正我写了超过90%)
我知道这本身并不是非常有用,但我觉得这是一个脚本远离一些更有用的东西,例如:行数。
背景-> 我对Git相对较新,我正在从Windows上的命令行使用它。我有一些linux经验,所以这不会打扰我太多。我也在为这个项目使用Github,并且我可以访问github for windows客户端(尽管我并没有真正使用它)。
解决方案
试试:
git show $(git rev-list --author="Your Name" HEAD)
.
这显示差异,而不是“添加线”,但Diffs更有意义。无自动化程序可以决定是否用不同线替换的线路应该被视为添加或只是修改。
其他提示
您可以尝试类似以下内容来获得所有更改的"最小"(具有零行上下文而不是三行)补丁:
for h in $(git --no-pager log --author='name' --format='%H' HEAD); do git --no-pager diff-tree -U0 $h; done >mychanges.txt
mychanges.txt
应该让"非技术人员"的人知道你做了什么;他们真正需要理解的是,以 +
是您添加的行和以 -
是您删除的行。通过一些文件的一些差异,他们会得到它的窍门,应该能够自己阅读文件的其余部分。
不隶属于 StackOverflow