git config --global user.email "<e-mail>"
git config --global user.name "<username>"
Commitlerimizde görüncek kimliğimizi belirlemek için bu konfigrasyonları yapmalıyız. Burada yazacağımız mail adresi ve kullanıcı adımızın github veya bitbucket da kullandıklarımız olmasına dikkat etmeliyiz.
Remote uzun linkleri kısaltmamıza ve onları bir isim ile bağdaştırmamızı sağlar.
git remote add <remote_adı> https://github.com/<username>/<repo_adı>.git
Komutunu verdiğimizde <remote_adı> kısmına yazdığımız isim ile linki kısaltmış oluruz.
git remote -v
git remote rename <remote_adı> <yeni_remote_adı>
Komutunu verdiğimizde remote ismini değiştirmiş oluruz.
git remote rm <remote_adı>
Komutunu verdiğimizde adını yazdığımız remote'yi sileriz.
git remote set-url <remote_adı> https://github.com/<username>/<repo_adı>.git
Komutu ile remote ların işaret ettiği linki değiştirebiliriz.
git clone https://github.com/<username>/<repo_adı>.git
Komutunu verdiğimizde projeyi localimize çekmiş oluyoruz ve otomatik olarak "origin" adında bir remote eklenmiş oluyor.
Projenin bulunduğu dizine geçip
git init
komutunu verdiğimizde localimizde yeni bir depo oluşturmuş oluruz.
git diff
Komutu ile commitlenmemiş yapılan değişiklikleri görebiliriz.
git diff <dosya_adı>
Komutu ile bir dosya üzerinde yapılan değişiklikleri görebiliriz.
git diff <commit_id>
Komutu ile yazdığımız commit ile deponun şu an ki hali arasındaki değişiklikleri görebiliriz.
git diff <commit_id> <commit_id>
Komutu ile 2 commit arasındaki yapılan değişikleri görebiliriz.
git diff --name-only
Komutu ile sadece değişiklik yapılan dosyaların adını listeyebilirz.
git diff <tag_adı> <tag_adı>
Komutunu vererek 2 versiyon arasındaki değişiklikleri görebiliriz.
Localdeki commitlenmiş değişikleri uzaktaki depoya göndermemizi sağlar.
git push <remote_adı> <branch_adı>
git commit -m "<commit_mesajı>
Komutunu verdiğimizde stagged olan dosyalara mesaj ile bir commit atmış oluruz. Her commit bir mesaj içermelidir.
git commit -a -m "<commit_mesajı>
Komutunu verdiğimizde stagged olmayan ama değişiklik yapılan tüm dosyaları staged yapar ve bir mesaj ile commit atmış olur.
git commit --amend -m "<commit_mesajı>
git rebase -i HEAD~3
Komutu ile son 3 commiti getirdik. Deşitireceğimiz commitin mesajınının başını pick den reword olarak değiştiriyoruz. Kaydedip çıkınca commit mesajınını bulunduğu ekran çıkıyor.Yeni commit mesajımızı yazıp kaydedip çıkıyoruz. Sonra yapılan değişiklikleri uzaktaki depoya puslamak için:
git push --force <remote> <branch_adı>
git tag <tag>
Komutunu verdiğimizde son atılan commit için tag oluşturur ve eğer pushlarsak onu realese olarak yayınlar.
git push <remote_adı> <tag>
Komutunu verdiğimizde oluşturduğumuz tag uzaktaki depoya pushlanır.
git tag
veya
git tag -l
Komutu ile oluşturdğumuz tagleri görebiliriz.
git tag -d <tag_adı>
Komutu ile localdeki tagı sileriz ama uzak depodaki tag silinmez.
git push origin :<tag_adı>
veya
git push --delete <remote_adı> <tag_adı>
Komutlarından biri ile uzak depodaki tagleri silmiş oluruz.
git tag --force <tag_adı> <commit_id>
Komutunu verdiğimizde localimizde tagı güncellemiş oluruz.
git push --force --tags
Komutunu verince de uzaktaki depodaki tagı güncellemiş oluruz.
git branch <branch_adı>
Komutunu verdiğimizde localimizde yeni bir branch olusturmuş oluruz.
git checkout -b <branch_adı>
Komutunu verdiğimizde localimizde yeni bir branch oluştururuz ve o branch'a geçiş yapar.
git checkout <branch_adı> (Oluşturduğumuz yeni brancha geçmek için)
git push -u <remote> <branch_adı>
Komutunu verdiğimizde localimizde yeni oluşturduğumuz branchı uzaktaki repoya göndermiş oluruz.
git checkout <branch_adı>
Komutunu verdiğimizde var olan branchlar arasında geçiş sağlarız.
git branch
Localdeki branchları listeler.
git branch -r
Uzak depodaki branchları listeler.
git branch -a
Hem localdeki hem uzak repodaki branchları listler.
git branch -d <branch_adı>
Komutunu verdiğimizde adını yazdığımız branch bizim localimizden silinir.Fakat uzaktaki repodan silinmez.
git push <remote> --delete <branch_adı>
Komutunu verdiğimizde adını yazdığımız branch uzakdaki depodan silinir.
git checkout <birleştirilecek_branch_adı>
Birleştireceğimiz brancha geçiş yaptık.
git merge <birleşecek_branch_adı>
Komutunu vererek iki branchı birleştirdik.
git push -u <remote> <branch_adı>
Birleştirdiğimiz branchları uzakdaki repoya pushladık.
git branch -m <branch_adı> <yeni_branch_adı>
Komutu ile localde branchımızın adını değiştirdik.
git push <remote> :<eski_branch_adı> <yeni_branch_adı>
git checkout <dosya_adı>
git reset <dosya_adı>
git reset --soft <commit_id>
Komutunu verdiğimizde id sini yazdığımız commite geri döneriz fakat commitler silinmez. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
git reset --hard <commit_id>
Komutunu verdiğimizde id sini yazdığımız commite geri döneriz ve geri döndüğümüz committen sonraki bütün commitler silinir. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
git reset --hard <tag_adı>
Komutunu verdiğimizde projemiz yazdığımız tagdeki haline döner. Verdiğimiz tagden sonraki commitler silinir. Sonra bu değişiklikleri uzaktaki depoya pushlamak için:
git push <remote> <branch_adı> --force
git reset HEAD^
Komutunu verdiğimizde localde son yaptığımız commiti geri alır ama değişiklikleri geri almaz.
git log
git log -<kac_adet>
git log --pretty=oneline
git pull <remote> <branch_adı>
Komutunu verdiğimizde adını yazdığımız branchda yapılan değişiklikleri localimize çekeriz.
Bir başka yolu ise:
git fetch <remote>
Dedikten sonra,
git merge <remote>/<branch>