proje klasörü olmadan git klonu


86

Sunucuya erişim verdim ve git repo'yu kök klasörüme kopyalamak istiyorum. Ama git clone yaptığımda beni proje adıyla bir klasör yapacak ve proje klasörüm köküm. Ana klasörüme erişimim yok, köküm

/var/www/sites/mysite/

ve klonladığımda klasör yapısı

/var/www/sites/mysite/mysite

2
tercih edilen apache / web sunucusunda .git göndermediğinizden emin olun.
mnagel

Yanıtlar:


199

git clonehedef dizin olan son bağımsız değişkeni kabul eder, varsayılan olarak projenin adıdır, ancak bunu değiştirebilirsiniz. Senin durumunda muhtemelen basitçe .:

$ git clone origin-url .

Ancak şunu unutmayın man git-clone:

Mevcut bir dizine klonlamaya yalnızca dizin boşsa izin verilir.


4
git clone @rodrigo ./heaven
a_m_dev

Ve iki kat derinliğinde klonlamaya ne dersiniz? Pom.xml'nin üstünde iki klasörüm var mı?
Bionix1441

1
@ Bionix1441: Dizin yapınızı bilmiyorum, ancak sadece yazarak iki seviye aşağıdaysanız git clone aaa/bbb. İki seviye yukarı yapmak istiyorsanız deneyebilirsiniz, git clone ..ancak bu işe yaramayacaktır çünkü ebeveyn rehberiniz asla boş değildir.
rodrigo

Yapı şu şekildedir folder1\folder2\pom.xml, pom.xmlve klasörlerine yalnızca aynı seviyede ihtiyacım varpom.xml
Bionix1441

36

Ayrıca yeni bir depo kurabilir ve ardından uzaktan izleme ve şubeyi takip edebilirsiniz:

git init .
git remote add origin git@github.com:user/repo.git
git fetch origin
git checkout master


Yukarı akış dalını da eşleşecek şekilde ayarlamak git branch --set-upstream-to=origin/master master zorunda kaldım : Daha sonra yerel değişiklikleri uzak şubeye göndermek zorunda kaldım: git push --force Bu, eski uzak şubeyi güncel yerel kopyamla değiştirdi.
Daniel ZA

8

Bu, Windows'ta da iyi çalışıyor.

git init
git remote add origin git@github.com:user/repo.git
git pull origin master

5

Git deposunun, onu depoladığınız dizin yapısı olduğunu unutmayın. Bu, bir depoyu yanlış dizine klonladığınızda, dizin içeriğini istediğiniz başka herhangi bir yere taşıyabileceğiniz ve arşiv verilerinin hala sağlam olduğu anlamına gelir. Örneğin, aşağıdaki komutları komut satırından çalıştırabilirsiniz:

$ mv /var/www/sites/mysite/mysite/* /var/www/sites/mysite`
$ mv /var/www/sites/mysite/mysite/.* /var/www/sits/mysite`
$ rmdir /var/www/sites/mysite/mysite

4

Projenizi alt .gitklasöre kopyalayabilir ve klasör dahil tüm dosyaları ana klasöre (kökünüz) taşıyabilirsiniz .


3
neden git clone git@github.com gibi daha kolay yapılamıyor: her neyse. \
dzona

o, rodrigos cevabını görebilir. ama bir git deposunun, özgürce hareket ettirilebilen bir grup dosya olduğunu biliyorsunuz, bu cevabın hatırlanması kolaydır.
mnagel

git clone git @ github: me / name.git.
Salman Mahmud
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.