Git
Git
'Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. İlk sürümü Linux çekirdeği'nin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiştir.
Git repomuzu oluşturmak
Git, bir kod deposu (repository veya kısaca "repo") olarak adlandırılan belirli dosyalardaki değişiklikleri izler. Projemiz için bir tane oluşturalım. Konsolunuzu açın ve pokemon klasöründe aşağıdaki komutları çalıştırın:
Not Reponuzu oluşturmadan önce pwd (Mac OS X/Linux) ya da cd (Windows) komutu ile şu an çalışmakta olan dizininizi kontrol edin. pokemon dizininde olmanız gerekiyor.
komut-satırı
Hatırlatma: Kullanıcı adı seçerken Türkçe karakter kullanmayın.
$ git init Initialized empty Git repository in ~/pokemon/.git/ $ git config --global user.name "Adınız" $ git config --global user.email “ad@example.com” |
Git reposunu başlatmak proje başına sadece bir kere yapmamız gereken bir şeydir (ve kullanıcı adınız ve mailinizi tekrar girmeniz gerekmeyecek).
Git bu dizindeki tüm dizin ve dosyalardaki değişiklikleri kaydedecek, ama takip etmemesini istediğimiz bazı dosyalar var. Bunu dizinin dibinde .gitignore adında bir dosya oluşturarak yapıyoruz.
Editörünüzü açın ve aşağıdaki içeriklerle yeni bir dosya yaratın:
.gitignore *.pyc *~ __pycache__ myvenv db.sqlite3 /static .DS_Store |
Ve onu .gitignore ismi ile "pokemon" dizinine kaydedin.
Not: Dosya adının başındaki nokta önemli! Eğer dosyayı oluştururken zorluk yaşarsanız (örneğin Mac'ler Finder'dan nokta ile başlayan bir dosya oluşturmanızdan hoşlanmazlar), editörünüzdeki "Farklı Kaydet" özelliğini kullanın böylece çalışacaktır.
Reponuza veri tabanı dosyamızı eklemek istemiyoruz çünkü canlı web siteniz farklı bir veritabanı kullanacak. Genelde sitenizdeki çok daha fazla ziyaretçiyi kaldırabilecek MySQL adı verilen bir veritabanı kullanacaksınız. GitHub kopyası için veritabanınızı yok saymanız, şu ana kadar oluşturduğunuz tüm gönderilerin lokalinizde kalması ve yalnızca lokal olarak kullanılabilmeniz anlamına geliyor. Canlıda onlara ulaşabilmeniz için yeniden eklemek zorundasınız
Kodunu GitHub'a ekle
[GitHub.com](https://www.github.com) adresine gidip yeni ve ücretsiz bir hesap için kaydol. (Workshop prep(atölye hazırlığı) aşamasında yaptım zaten ben bunu diyorsanız, bu harika!) Sonra yeni bir repository oluşturup "Pokemon" ismini verin. "BENİOKU dosyası ile başlat" onay kutusunu işaretlemeyin, .gitignore seçeneğini boş bırakın (biz manual olarak oluşturacağız. Şimdi Git repository'i bilgisayarınızdaki bir GitHub'a bağlamamız gerekiyor.
Sonraki ekranda repo'nun klon URL'sini göreceksiniz. "HTTPS" ile başlayanı seçin, kopyalayın ve şunu terminale yapıştırın:
Aşağıdakileri konsol ekranına geçirin (`<your-github-username>` kısmını köşeli parantez olamadan GitHub kullanıcı adınızla değiştirin):
Temel Git komutları:
Add
Bu işlem ile depoya eklemek istediğimiz, daha önceden eklenmiş veya değişiklik yapılmış dosyayı index denilen git geçici alanına ekledik.
Belirttiğiniz bir dosyayı ya da tüm projeyi çalışma dizinine (Index) ekler. Yani commit‘lenmeye hazır hale getirir.
Commit
Burada değişikliklerimizi belirten yorumlarımızı ekledik ve yukarıdaki komut ile yaptığımız değişiklikleri local depoya yolluyoruz.
Push
Daha önce commit işlemi gerçekleştirip uzak depoya göndermedigimiz paketleri göndermek için kullanılır.
Pull
Uzak sunucuda değişikliğe uğramış ya da yeni eklenmiş dosyalar varsa bunları indirir ve yereldeki depo ile birleştirir.
Diğer git komutları:
Yeni Dallanma(Branching) oluşturmak için: git branch <yeni_dal_ismi>
İstediğimiz dala geçmek için: git checkout <yeni_dal_ismi>
Dalı silmek için: git branch -D <branch>
Git repolarını, dalları birleştirmek için: git merge <branch>
Git reposundaki dosyanın silinmesi: git rm -r <dosya_adi>
git log
Eski versiyona geri dönmek istediğimiz durumlarda eski commitlerimizi git log
komutu ile listeleyip istediğimiz commit versiyonuna dönebiliriz.
Dönmek istediğimiz komit için; git checkout <commit - c1598..>
Branch kullanımına aşağıdaki gibi bir yapı örnek gösterilebilir.
Last updated