GIT:只获取Commit Text,Branches和一些特殊文件

时间:2013-06-13 03:47:36

标签: git

我想编写一个简单的应用程序来跟踪我的git repos中的bug,todos和其他一些信息(所以那些在那个项目中开发的人总是带着它们的todos列表)

因此我在我的每个git repos中添加了一些文件:.git-bugs .git-todos .git-after-checkout等。此外,用户有一种特殊的方式来形成提交消息。

现在我想编写一个小的php应用程序(或任何其他语言),只读出提交消息和上述文件的内容(也许是一个列表,每次提交时更改哪些文件)而不检查完整的回购。

有什么办法吗?如果没有,有没有办法只检查回购,但不是文件,所以只是提交消息?

1 个答案:

答案 0 :(得分:1)

您只能在本地浏览Git存储库的历史记录。有些服务会提供an API远程执行此类操作,但从根本上说它们只是转发您在服务器上运行Git命令的结果。

您可以使用以下命令克隆没有工作树的存储库:

git clone --bare <repository>

然而,这不会为您节省任何带宽;它仍然需要克隆存储库。如果这对您来说很重要,它将为已签出的文件节省磁盘空间。然后,您可以在不查看文件的情况下查看文件的内容:

git show <revision>:<file>
git show master:.git-bugs

您可以使用以下命令获取包含已更改文件列表的日志:

git log --name-only

有许多log个选项可以提供更多信息。例如git log --stat。有关详细信息,请参阅git-log(1)