gpt4 book ai didi

git - 如何在不获取存储库的情况下 git log 远程分支

转载 作者:行者123 更新时间:2023-12-05 06:46:00 25 4
gpt4 key购买 nike

我需要删除远程存储库上的一个分支,该分支已存在 30 天,而且它对当前进程来说非常慢

目前

git fetch --depth=1

list=$(git ls-remote --heads git@xxxxx.xx.xx.com:/xxx/xxx-xxx/xxx-xxx-a | grep ci)

for i in $list
do
if [ -n "$(git log -1 --before='30 days ago' -s origin/$i)" ]; then
git push origin :$i
echo " Deleted Branch $i"
fi
done

最佳答案

虽然 origin/XY 被称为远程分支,但它仍然是存在于本地存储库中的分支。它之所以被称为远程分支,是因为它代表了该名称的远程存储库分支所处的状态。因此,它确实是一个普通指针,指向应完全包含在本地存储库中的提交历史记录。

虽然 git ls-remote 可以告诉您远程存储库中存在哪个分支,但这并不意味着您在本地存储库中将拥有必要的数据来显示有关它的任何信息。请记住,所有操作(除了实际的传输操作,如获取/pull 和推送)都在本地执行。

因此,为了能够调用 git log,您需要获取属于该远程分支历史记录的所有提交对象。方法是简单地使用 git fetch 从远程存储库中获取对象。没有其他方法可以做到这一点。

因此,如果您想访问远程存储库的日志,则必须克隆它才能在本地获取信息。

另一种选择是在远程计算机本身上执行它,或者让例如将向您显示日志的 Web 界面(gitweb、GitHub 等)。

关于git - 如何在不获取存储库的情况下 git log 远程分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845527/

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