gpt4 book ai didi

裸仓库上的 git diff

转载 作者:太空狗 更新时间:2023-10-29 13:40:53 26 4
gpt4 key购买 nike

我想看看上个月在 gitlab 服务器端的 repo 发生了多少变化

cd /path/to/my/bare/repo.git/
git --git-dir . diff --shortstat "@{1 month ago}"
fatal: Unable to read log 'logs/refs/heads/master': No such file or directory

但是它在本地 checkout-ed 工作分支中工作正常。

有没有一种方法可以轻松做到这一点?

为了避免 X-Y 问题:我想通过 Gitlab 服务器上的数百个 repos 运行统计

最佳答案

尝试并确保,当在裸仓库中进行 diff 时,指定两个提交(否则 diff 将默认为工作树,它不存在于 bare repo 中)。

你不需要--git-dir .

但是,在 specifying a revision 时使用 date行不通,因为它基于 logs/refs ,在裸仓库中不存在

<refname>@{<date>}, e.g. master@{yesterday}, HEAD@{5 minutes ago}

A ref followed by the suffix @ with a date specification enclosed in a brace pair (e.g. {yesterday}, {1 month 2 weeks 3 days 1 hour 1 second ago} or {1979-02-26 18:30:00}) specifies the value of the ref at a prior point in time.
This suffix may only be used immediately following a ref name and the ref must have an existing log ($GIT_DIR/logs/<ref>).

关于裸仓库上的 git diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com