Cách duy nhất bạn có thể bắt đầu phân tích cho thẻ của bạn, mà không cần thêm quá nhiều vào đĩa địa phương của bạn, sẽ là:
- thực hiện một repo trống
- thêm địa chỉ từ xa của repo từ xa của bạn
- thử một
git fetch --dry-run
Đó sẽ được tải các tập tin gói của repo từ xa, mặc dù.
Tôi không nghĩ bạn chỉ có thể truy vấn thông tin này mà không cần tải xuống nội dung nào đó.
Tôi đã làm nó cho một repo gitolite ví dụ:
[email protected] /c/prog/git
$ git init g2
Initialized empty Git repository in c:/prog/git/g2/.git/
[email protected] /c/prog/git
$ cd g2
[email protected] /c/prog/git/g2 (master)
$ git remote add origin https://github.com/sitaramc/gitolite.git
[email protected] /c/prog/git/g2 (master)
$ git fetch --dry-run
remote: Counting objects: 5114, done.
remote: Compressing objects: 100% (1919/1919), done.
remote: Total 5114 (delta 3548), reused 4664 (delta 3142)
Receiving objects: 100% (5114/5114), 1.81 MiB | 722 KiB/s, done.
Resolving deltas: 100% (3548/3548), done.
From https://github.com/sitaramc/gitolite
* [new branch] bp-v2.0.3 -> origin/bp-v2.0.3
* [new branch] fedora-temp -> origin/fedora-temp
* [new branch] gh-pages -> origin/gh-pages
* [new branch] master -> origin/master
* [new branch] pu -> origin/pu
* [new branch] temp-br--data-dumper-problem-demo -> origin/temp-br--data-dumper-problem-demo
* [new branch] vrs -> origin/vrs
* [new tag] v2.1 -> v2.1
From https://github.com/sitaramc/gitolite
* [new tag] v0.50 -> v0.50
* [new tag] v0.55 -> v0.55
[...]
* [new tag] v2.0rc2 -> v2.0rc2
* [new tag] v2.1 -> v2.1
^^^^
|
--- could be the tag you need
Như đã đề cập ở trên, dấu vết duy nhất là các tập tin gói, vì vậy ít nhất bạn có thể dễ dàng làm sạch chúng một khi bạn có thông tin của bạn:
[email protected] /c/prog/git/g2 (master)
$ l .git/objects/pack/
total 1000
drwxr-xr-x 4 VonC Administ 0 Nov 8 19:45 ..
-r--r--r-- 1 VonC Administ 1898987 Nov 8 19:46 pack-c70771bc8a5ecc099ed88da0c3f631f84b34fe9d.pack
-r--r--r-- 1 VonC Administ 144264 Nov 8 19:46 pack-c70771bc8a5ecc099ed88da0c3f631f84b34fe9d.idx
drwxr-xr-x 2 VonC Administ 4096 Nov 8 19:46 .
Tùy chọn thú vị. +1 – VonC
'git ls-remote' chắc chắn là thứ bạn muốn. +1. – jszakmeister
đây là một kịch bản rất hay và nó hoạt động rất tốt trên dòng lệnh ... nhưng tôi không thể sử dụng awk trong dự án của mình. vì vậy tôi buộc phải trích xuất ý nghĩa của nó ... 'tag = $ 3' phải bằng tên thẻ, không có tiền tố/thẻ/tiền tố, phải không? curl -s giữ cho tôi biết 'Không tìm thấy' – shigazaru