1

我想编写一个简单的应用程序来跟踪我的 git repos 中的错误、待办事项和其他一些信息(因此在该项目中开发的任何人都始终拥有待办事项列表)

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

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

有什么办法吗?如果没有,有没有办法只签出 repo,而不是文件,所以只是提交消息?

4

1 回答 1

1

您只能在本地浏览 Git 存储库的历史记录。一些服务会提供一个 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)

于 2013-06-15T16:03:02.700 回答