我希望某个“非技术”人员在我处理某个github项目时更好地了解我实际在做什么。我想创建一个文本文件,其中包含我已添加到此项目主分支的所有代码。我想将它放在文本编辑器中并向下滚动所有屏幕,无论多少个屏幕。这基本上就是我想要的,因此,“行数”或“字符数”的统计数据不会产生同样的影响。
具体来说,我要展示的是: (第一选择)我添加的所有行,即使它们稍后被删除。
(第二选择)我在最新版本中贡献的所有行(我们只有一个分支)
有没有办法做到这一点,或者至少只打印出当前分支中的所有行? (无论如何,我写了90%以上)
我知道这本身并不是非常有用,但我觉得这是一个远离更有用的东西的脚本,例如行数。
背景 - > 我对Git比较新,我在Windows上的命令行中使用它。我有一些Linux经验,所以这不会打扰我太多。我也在使用Github这个项目,我可以访问Windows客户端的github(虽然我没有真正使用它)。
答案 0 :(得分:2)
试试这个:
git show $(git rev-list --author="Your Name" HEAD)
这显示差异,而不是“添加行”,但差异更有意义。没有自动程序可以决定被替换为不同行的行应该被视为添加还是仅仅是修改。
答案 1 :(得分: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
应该让“非技术”的人知道你做了什么;他们真正需要了解的是,以+
开头的行是您添加的行,而以-
开头的行是您删除的行。对一些文件进行一些差异处理,他们就可以了解它并且应该能够自己阅读文件的其余部分。