从GitHub的提交中导出更改日志

8
我有一个合作者不擅长GitHub并且在短时间内也不可能掌握。

我想逐行向他展示我对一篇论文所做的更改,提交比较是最好的方式。

但他们没有账户,而且存储库是(且将保持)私有的。

有没有办法将GitHub的跟踪更改日志导出到另一种格式中,以便更方便地发送给我的合作者?


你用什么工具写论文?根据格式,专门的差异工具可能会有所帮助。如果使用LaTeX,我建议使用git-latexdiff(警告:我是作者;-))。 - Matthieu Moy
4个回答

5

因此,如果您需要彩色输出,您需要使用一些额外的工具,比如 aha - 它是ansi到html的适配器。最终版本可能如下所示。 git log -p -n 2 --color=always | aha --black > output.html


这似乎有点有帮助,但我真的不太理解我所看到的内容;我也强烈倾向于某些可以对添加进行着色并将它们与删除相邻放置以便读者更加清晰明了的东西。 - MichaelChirico
也许 git log -p 是一个不错的选择 - 它会显示所有提交历史和更改。 - grimsock
有没有什么想法可以让我如何着色输出(我使用了git log -p> changes.txt)?还有限制包含的提交次数? - MichaelChirico
2
如果你想限制提交次数,只需传递选项-n your_number。关于着色,可能会更难,因为它是由shell完成的,你需要比简单的输出重定向更多的工具。我使用了一个名为aha的Linux工具。安装它,然后尝试这个命令:git log -p -n 2 --color=always | aha --black > output.html现在你可以在html文件中看到所有内容-有颜色的。 - grimsock
git log -p --color-words 也许会有所帮助。 - Matthieu Moy
添加-w以忽略空格! - MichaelChirico

1
如果您喜欢GitHub的差异,您可以在浏览器中查看它,并使用浏览器的“保存页面”获取HTML文件以发送给您的合作者。
要从GitHub获取全面的差异,请将/compare添加到存储库的URL中(更多详细信息请参见GitHub文档)。然后选择您喜欢的视图,并将其保存为HTML。

听起来不错,但我刚试了一下,生成的HTML文件一团糟。 - MichaelChirico
我也尝试过,使用Firefox生成的HTML页面效果不错。你需要同时发送<filename>.html和<filename>_files/目录,以便获取页面所需的CSS和其他资源文件。 - Matthieu Moy
似乎很麻烦让协作者确保他们拥有正确的目录结构来查看我的差异... - MichaelChirico
如果你发送一个 .zip 文件,他们就不会注意到有几个文件。但是你也可以将所有内容嵌入到单个 HTML 文件中。似乎在 Firefox 中有一些扩展可以做到这一点,我有时会使用 https://www.npmjs.com/package/html-inline。但是,这真的是一个关于 Web/HTML 的问题,而不再是 Git 的问题了。 - Matthieu Moy
我给你点赞因为它有效,但grimsock的答案显然更优秀。 - MichaelChirico
1
不争夺积分;-)。我添加了这个答案,因为它最好地回答了你问题中的“GitHub”部分,但我个人更喜欢@grimsock的版本;-)。 - Matthieu Moy

0

-2
git diff --color > file.txt

在Sublime中打开文件


你应该提供更多的上下文信息,以改善你的回答。 - alex
这只显示未提交文件的差异。看起来OP正在询问基于提交的更改。 - Patrick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接