2

当我在某个 github 项目上工作时,我希望某个“非技术”人员能够更好地了解我实际在做什么。我想用我添加到这个项目的主分支的所有代码创建一个文本文件。我想把它放在一个文本编辑器中并向下滚动它,不管有多少屏幕。这基本上就是我想要的,因此,“行数”或“字符数”统计数据不会产生相同的影响。

具体来说,我想展示的是:(首选)我添加的所有行,即使它们后来被删除。

(第二选择)我在最新版本中贡献的所有行(我们只有一个分支)

有没有办法做到这一点,或者至少打印出当前分支中的所有行?(反正我写了 90% 以上)

我知道这本身并不是非常有用,但我觉得这是一个远离更有用的脚本,例如行数。

背景 -> 我对 Git 比较陌生,我在 Windows 的命令行中使用它。我有一些 linux 经验,所以这不会太困扰我。我也在为这个项目使用 Github,并且我可以访问 Windows 客户端的 github(尽管我并没有真正使用它)。

4

2 回答 2

2

尝试这个:

git show $(git rev-list --author="Your Name" HEAD)

这显示了差异,而不是“添加的行”,但差异更有意义。没有任何自动化程序可以决定是否应将被不同行替换的行视为添加或仅修改。

于 2012-07-27T00:19:53.273 回答
2

您可以尝试以下方法来获得所有更改的“最小”(零行上下文而不是三行)补丁:

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应该让“非技术”人员对您所做的事情有所了解;他们真正需要了解的是,以开头+的行是您添加的行,以开头-的行是您删除的行。浏览一些文件的一些差异,他们会掌握它的窍门,并且应该能够自己读取文件的其余部分。

于 2012-07-27T12:43:49.843 回答