Soru Git: Doğrudan uzaktan depodan nasıl arşivlenir?


Genelde aşağıdaki komutu kullanıyorum. project.git Belirtilen yerlerden bir arşiv almak için:

git archive master | tar -x -C /home/kave/site/

Uzak bir depodan doğrudan bir hedef dizine arşivlenmesinin mümkün olup olmadığını merak ediyorum.

Hiç bir şeye gerek duymadan böyle bir şey denedim:

git archive master https://kave@dndigital.git.cloudforge.com/myoproject.git | tar -x -C /home/kave/site/

Baska öneri? Teşekkürler


21
2017-12-06 18:33


Menşei


Git 1.9 / 2.0 (Q1 2014) sığ klonlama ile çok daha verimli olacaktır: stackoverflow.com/a/21217267/6309 ve stackoverflow.com/a/21217326/6309 - VonC


Cevaplar:


itibaren git help archive:

   --remote=<repo>
       Instead of making a tar archive from the local repository, retrieve a tar archive from a remote repository.

Komuta şöyle bitmeli:

$ git archive --remote=https://kave@dndigital.git.cloudforge.com/myoproject.git master

Ancak, repo'yu çıkarırsanız, kullanarak sığ bir klon oluşturabilirsiniz. --depth parametresi git clone:

   --depth <depth>
       Create a shallow clone with a history truncated to the specified number of revisions. A shallow repository has a number of limitations (you cannot clone or fetch from it, nor push from nor into it), but is adequate if you are only interested in the recent history of a large project with a long history, and would want to send in fixes as patches.

Yani böyle bir şeyin var:

$ git clone --depth=1 https://kave@dndigital.git.cloudforge.com/myoproject.git

29
2017-12-06 19:33



Nasıl yapabilirim git clone --depth=1 master yerine belirli bir etiket çekin - robru
@Robru: Bu bağımsız bir soru olmayı hak ediyor, bence, ama hakkında oku --[no-]single-branch içinde git help clone. Gibi bir şey git clone --depth=1 --single-branch --branch TARGET_BRANCH REMOTE_URL, Bence. Ve, teşekkürler - Bunu daha önce hiç düşünmemiştim :) - mgarciaisaia
Github'dan arşivlenemiyor: You appear to be using ssh to clone a git:// URL.  Buna bakabilirsin makale daha fazla ayrıntı için. - Simin Jie