Kendi GIT Sunucusunu nasıl kurabilirim? Çıplak / çıplak olmayan depolar nedir?


10

Basit bir GIT sunucusu kurmaya çalışıyorum. Bir Sanal PC'de (Sanal Kutu) Ubuntu yüklüdür. GIT'i yükledim, bir repo vb. Oluşturdum

git init 
git add .
git commit "..."

Sonra Windows'ta aşağıdaki gibi bir şey yaptım (cygwin'de)

git clone jiewmeng@192.168.0.3:proj1

Sonra değişiklik yapmaya çalıştı

git commit -am "..."

ama böyle bir şey var

resme bak

Sanırım kurulum GIT'i yanlış mı? Ben çıplak / çıplak olmayan depoları ile ilgili bir şey okudum? Her zaman çıplak mı kullanmalıyım? denedim

git checkout --bare jiewmeng@192.168.0.3:proj1 

ama içinde var, proj1.gitiçinde (KAFA vb.) gibi garip dosyaları / klasörleri. GIT kurmanın doğru yolu nedir?

ayrıca birisi çıplak / çıplak olmayan depoları açıklayabilir, ben kayboldum, GitHub ile böyle bir şey yok!

GÜNCELLEME 28 Nis 2011 18:00 UTC + 8

Http://www.youtube.com/watch?v=1gNFrPNF9-Y'yi izlemeyi denedim ve Ubuntu'da (Sunucu) yaptım

git init --bare

Windows'ta (Client / Cygwin)

git init 
// added readme.txt 
git add .
git commit -m "..."
git remote add origin master jiewmeng@192.168.0.3:proj2
git push origin master

hiçbir hata iyi görünmüyor. Ama Ubuntu'da dosyalarımın nerede olduğunu görmüyorum? branches/Orada 1 tane nth baktım ?

Yanıtlar:


9

"Normal" veri havuzu, gerçek veri havuzu ve çalışan bir kopya içeren bir dizindir. Gerçek depo, adıyla gizli bir alt dizinde bulunur .git. Çalışma kopyası, birlikte çalıştığınız dosyalar ve dizinlerdir.

"Çıplak" bir depo, .gitçalışma kopyası olmadan dizinin içeriğidir.

Çıplak bir depoda çalışamazsınız. Önce çıplak depoyu normal bir depoya klonlamanız, ardından klon üzerinde çalışmanız gerekir.

İlk denemenizde "normal" bir depo oluşturdunuz. Sonra onu klonladın. Sonra normal depoya geri gitmeye çalıştınız. Sonra bir uyarınız var. Normal bir depoya gitmemelisiniz. Git bunu yapmaya çalıştığınızda sizi uyarır. Sadece çıplak bir depoya gitmelisiniz.

İkinci denemenizde "çıplak" bir depo oluşturdunuz. Sonra "normal" bir depo oluşturdunuz. Sonra normalden çıplak depoya ittiniz. Bu, beklenen iş akışlarından biridir. Bu yüzden hata veya uyarı almazsınız.

Projeniz üzerinde Windows makinesinden ve ubuntu makinesinden çalışmak istediğinizde iki seçeneğiniz vardır:

  1. Çıplak bir depo oluşturun (nerede olduğu önemli değil). Daha sonra bu depodan klonlayın, biri windows makinesinde ve diğeri ubuntu makinesinde. Şimdi klonlardan çıplak depoya itin ve çıplak depodan klonlara çekin. Normal depolara zorlamayın.

  2. Biri windows makinesinde ve diğeri ubuntu makinesinde olmak üzere iki normal havuz oluşturun. Şimdi, Ubuntu üzerinde çalışırken, Windows makinesinden ve tersi yönde çekebilirsiniz. Birbirinize itmeyin.

Alt satır: sadece çıplak depolara itin. Diğer tüm durumlarda, A'dan B'ye itmek istediğinizi düşündüğünüzde, B'ye gidin, ardından A'dan çekin.

Gitmek için çok yenisin. Lütfen aşağıdaki çok iyi kitaplardan birini veya her ikisini de okuyun: Git Book , Pro Git .


1
hmm ana öğrenme noktası " sadece çıplak depolara itmek gibi görünüyor . Tüm diğer durumlarda, A'dan B'ye itmek istediğinizi düşündüğünüzde, B'ye gidin, sonra A'dan çekin ". Eğer öyleyse, GitHub bunu nasıl yapıyor? Ben doğru itiyorum (zaten berbat için kullandım ...)?
Jiew Meng

@JiewMeng: GitHub çıplak depolar kullanıyor. Web sitesi verileri doğrudan Git'ten okur ve bir iş dizinine ihtiyaç duymaz.
user1686

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.