4 Eylül 2017 Pazartesi

git init ve git init --bare arasındaki fark

Bu yazımda genel olarak aralarındaki farkın anlaşılmakta zorlanıldığı iki git komutunu açıklamaya çalışacağım.

git init : Bu komut bir dizini çalışma dizini haline getirip bu dizinde bir git repository'si oluşturur.Bu repository sayesinde yerelde yapmış olduğunuz commit'leri takip edebilir,bir repository server'a bu commitleri push'layabilirsiniz.Komutu verdiğiniz dizin içerisinde .git isimli bir dizin oluşur.Bu dizin içerisinde repository'e ait config ve log dosyaları bulunur.Server'a push yaparken bu dosyalar kullanılır.Diff vb. komutlar bu dosyalar kullanılarak çalıştırılır.



git init --bare : Bu komut aynı diğer komut gibi bir git repository'si oluşturur. İlk farkı repository'nin oluştuğu dizin bir çalışma dizini değildir yani üzerinde değişiklikler yapılmaz(yapılabilir ancak yapılmamalı).Yine diğer komut gibi config dosyalarını oluşturur ancak diğerindeki gibi .git isimli bir dizin oluşturmaz.B
u dosyalar direkt dizin içerisinde oluşturulur.Bu komutla oluşturulan repository'lere pull ve push işlemleri ile değişiklikler yapılır.Doğrudan dizin üzerinde değişiklikler yapılmaz.Bu özelliklerden anlaşılabileceği üzere komutun amacı, sunucuda merkezi git repository'si oluşturmaktır.

Konuyu bir örnekle netleştirmek gerekirse ;

ilk komut gitkraken ya da source tree vb. gibi bir programda lokal git reposu oluşturduğunuzda çalışır.
ikinci komut ise github ya da gitlab vb. gibi bir uzak repository sağlayıcısında bir repository oluşturduğunuzda bu sağlayıcıların server'larında çalışır.

Aşağıdaki görsel ile konunun daha da net anlaşılacağını umuyorum ;

Hiç yorum yok:

Yorum Gönder