Git Kurulumu & Github Repo Oluşturma
Git bir sürüm kontrol sistemidir. Projedeki herhangi veya tüm değişikleri takip etmeyi sağlar. Yapacağımız projenin adım adım versiyonlarını, kopyalarını alır. İhtiyaç duymamız halinde bu versiyonlara, kopyalara kolayca geri dönmemiz için olanak sağlar. Github depomuzda yaptığımız gibi , Git sistemi kodu herkesle paylaşmanın çok kolay bir yoludur.
Git’i kullanarak kodlarımızı Heroku, AWS ve diğerleri gibi hizmetlerde canlı bir bulut uygulama hizmetleriyle dağıtmak için de kullanabilirsiniz.
Django projemi kullanarak aşağıdaki adımları uyguladım:
1 Git’in yüklenmesi şu yöntemlerden biriyle yüklenebilir :
git-scm ‘in kendisinden (tercih edilen)
2 Terminal’i açın ve kurulumu doğrulayın
sum@sumaray:~$ git --version
git version 2.7.4
Bu şekilde yüklenen/kullanılan sürümün bilgisini alırız.
3 Değişiklikleri “izlemek” istediğiniz bir dizinde (klasör) git’i başlatın.
sum@sumaray:~/Desktop/blogSite$ git init
Reinitialized existing Git repository in /home/sum/Desktop/blogSite/.git/
3.1 Git Yapılandırması
İlk defa git kurulumunda, git programına kullanıcı adımızı ve mail adresimizi tanıtmamız gerekir. bizden başka insanlarında dahil olduğu bir yazılım projesinden çalıştığımızda alınan versiyonların karışmaması için kimin tarafından alındığı önemlidir. kullanacağımız tüm git komutlarının başında git geliyor. (config:ayar,yapılandırma demek)
sum@sumaray:~$ git config --global user.name "KullanıcıAdı"
sum@sumaray:~$ git config --global user.email "mailAdresi@gmail.."
Eğer önceden tanımladığınız kullanıcı adı ve gmail adresimizi öğrenmek istersek terminalde şu şekilde sorguyabiliyoruz:
sum@sumaray:~$ git config --global user.name
sümeyye kılıç
sum@sumaray:~$ git config --global user.email
smyyekilic@gmail.com
4 “ .gitignore “ oluşturun
Bunun amacı, git ile izlenen dosyaların “yoksayılması” dır. Bu, yerden tasarruf sağlar ve gereksiz dosyaları kaldırır. Önceden oluşturulmuş her türlü yazılım gitignore dosyalarını burada bulabilirsiniz.
(venv) sum@sumaray:~/Desktop/blogSite$ echo "*.py[cod]
> .DS_Store
> __pycache__/
> *.py[cod]
> *$py.class
> " > .gitignore
yukarıda .gitignore dosyasını oluştururken dahil etmek istediğim doyalarıda ekleyerek oluşturdum:
5 Dosya durumunu kontrol etme:
(venv) sum@sumaray:~/Desktop/blogSite$ git status
On branch master
Your branch is up-to-date with 'blogRepo/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .gitignore
no changes added to commit (use "git add" and/or "git commit -a")
6 Tüm dosyaları ekleyip commit etme
(venv) sum@sumaray:~/Desktop/blogSite$ git add --all*
(venv) sum@sumaray:~/Desktop/blogSite$ git commit -m "gerekli eklemeler yapıldı"
[master b24700e] gerekli eklemeler yapıldı
1 file changed, 5 insertions(+), 5 deletions(-)
7 Uzak bir Repo (oluşturma adımları aşağıda ki gibi) hazır olduğunda, yerel dosyayı Push et!
Github Deposu Oluşturma (Uzak Git Reposu ile )
- Github adresinden Hesap Oluştur ve Giriş Yap
- Add New Repository ile Yeni Depo Ekle
Bir ad ve açıklama verin. (Ne yaptığınızı bilmiyorsanız .gitignore veya readme eklemeyin.)
- “adding to existiing respository” talimatlarını uygulayın veya benim uyguladığım şu talimatları izleyebilirsiniz:
Github’a gönderme
Repo'nun adresini(http://githubKullaniciAdı/repoAdı.github.io.git) kopyala
git remote add http://githubKullaniciAdı/repoAdı.github.io.git
git remote //bağlantı başarılımı
git push -u repoAdı master
Projeye Ekleme Yapıldığında
terminalden proje dizinine gelinmelidir.
$ git status
$ git add .
$ git commit -m "değişiklikler mesajı"
$ git status
$ git log
$ git remote
$ git push -u repoAdı master
7 Yerel Dosyayı Push Etme! 🐣
Github repo’su eklendikten sonra 7.adımdaki push etme adımı şu şekilde sonlanır:
(venv) sum@sumaray:~/Desktop/blogSite$ git push blogRepo master
Username for 'https://github.com': ....
yukarıda kullanıcı adı,şifre bilgileri girilerek push edilir. Github repo’nuzu yenileyerek eklenen dosyaları görebilirsiniz. !
❗ Karşılaştığım bir Hata!
- ekleme yaptığım bir projeyi github repoma push etmede başarısız hatası verdi:
sum@sumaray:~/Desktop/sumeyyekilic.github.io$ git push -u origin master Username for 'https://github.com': smyyekilic@gmail.com Password for 'https://smyyekilic@gmail.com@github.com': To https://github.com/sumeyyekilic/sumeyyekilic.github.io.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://github.com/sumeyyekilic/sumeyyekilic.github.io.git'
Çözümüm:
sum@sumaray:~/Desktop/sumeyyekilic.github.io$ git push origin master -f
yani git push origin master
yerine git push origin master --force
veya force yerine f yazmak: git push origin master -f