hello
tudja valaki, hogy hogyan lehet egy git repo állomány listáját elkészíteni anélkül, hogy pull/fetch/checkout tolnánk? a repo relatíve nagy és minden alkalommal törlődne ezért is szeretném elkerülni ezeket.
néztem a git ls-tree -r refs/heads/develop --name-only
de szimplán elhajt ezzel:
fatal: Not a valid object name refs/heads/develop
persze a kapcsolat jó, mert pullozni/fetchelni tudok, de ahogy írtam előbb nem szeretnék. nekem csak egy fájlistára van szükségem.
UPDATE
végül is a megoldás
git init
git remote add origin GITREPOSITORY
git archive --remote=GITREPOSITORY BRANCH:PATH > archive.tar
- 678 megtekintés
Hozzászólások
A file-ok listázásához mindenképpen szükség van repository-ra, bár a teljes history-ra és a worktree-re nem. Egy (nagyon) shallow clone jelentősen csökkentené a letöltendő adatmennyiséget, a bare pedig elkerülné a checkout-ot:
git clone --bare --depth=1 --branch=develop server.com/repo && git -C repo.git ls-tree -r --name-only HEAD
Az alternatíva a szerverhez való ssh és az ott lévő repository-hoz való közvetlen olvasási hozzáférés lenne...
- A hozzászóláshoz be kell jelentkezni
én itt (https://stackoverflow.com/questions/1178389/browse-and-display-files-in…) az olvasom h ay ls-tree -nek működnie kéne, de nem :(
a clone-al az a gond, h feleslegesen huzza le a repot
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni
"én itt az olvasom h ay ls-tree -nek működnie kéne, de nem"
Mert nem neki van igaza, hanem nekem :)
"a clone-al az a gond, h feleslegesen huzza le a repot"
A
--depth=1 --branch=<...>
opciókkal nem húzza le "a repót", csak egy töredékét.
szerk.:
$ time git clone --bare https://github.com/torvalds/linux linux-full.git
[...]
Receiving objects: 100% (6246710/6246710), 2.16 GiB | 1.91 MiB/s, done.
real 29m48.086s
user 32m9.347s
sys 1m26.693s
$ time git clone --bare --depth=1 --no-tags --branch=master https://github.com/torvalds/linux linux-shallow-notags.git
[...]
Receiving objects: 100% (65530/65530), 174.87 MiB | 2.23 MiB/s, done.
real 0m48.874s
user 0m0.007s
sys 0m0.009s
$ du -hs linux-*
2.4G linux-full.git
177M linux-shallow.git
A
git archive --remote
nem működik minden szerverrel, pl. GitHub, de a web felületről letölthető .zip snapshot nagyobb, mint a shallow clone:
$ wget -q -O linux.zip https://codeload.github.com/torvalds/linux/zip/master
$ du -h linux.zip
191M linux.zip
- A hozzászóláshoz be kell jelentkezni
Erről a depth paraméterről nem is hallottam eddig, jó tudni. Mindig tanul az ember valamit.
- A hozzászóláshoz be kell jelentkezni
Ha jól értem ezzel a megoldással is lejön a hálózaton az adott branch pillanatképének adott részfája, de legalább csak annyi. A fájlok listája mellett a tartalom is bekerül a tarba.
- A hozzászóláshoz be kell jelentkezni