Yeni Başlayanlar için 32 Git Komutları Hile Sayfası
Yayınlanan: 2022-09-23GIT komutları hile sayfası, geliştiriciler için kullanışlı bir referanstır ve git projeleri için en sık kullanılan komutları içerir.
GİT nedir?
GIT, kullanıcıların kod, zip, metin veya tüm proje dahil olmak üzere dosyalarını yerleştirebilecekleri açık kaynaklı bir havuzdur.
İşbirliği, sürüm kontrolü, süreç kontrolü vb. gibi çeşitli özelliklere sahiptir. GIT, dosyayı daha verimli bir şekilde depolar ve diğer sürüm kontrol sistemlerinden daha iyi bütünlük sağlar. Git bir komut satırı aracıdır.
GitHub nedir?
Geliştiriciler için bir merkez olan GitHub, düzgün kullanıcı arayüzü ile en yaygın kullanılan sürüm kontrol sistemi haline geldi ve herkes tarafından, her yerden erişilebilir.
Git İş Akışı
Git'in farklı iş akışları vardır ve her projenin gereksinimlerine göre bir iş akışları olmalıdır. Git iş akışı, projeleri düzenli olarak dağıtan ekiplere yardımcı olan hafif, şube tabanlı bir iş akışından başka bir şey değildir.
Örneğin, Git iş akışını çatallamak, havuzun yerel bir kopyasını oluşturur. Bu nedenle, her geliştiricinin yerel bir çalışma alanı ve merkezi bir deposu vardır. Bu tür bir iş akışı, birden fazla geliştirici dahil olduğunda iyidir ve geliştiricilerin ana depoda değişiklik yapmadan önce çatallı kopya üzerinde işbirliği yapmasına olanak tanır.
Git'e neden ihtiyacımız var?
Git bir sürüm kontrol sistemi olduğu için geliştiriciler, değişikliklerini kaydetmek, başkaları tarafından görüntülenebilir kılmak, değişikliklerini başkalarıyla birleştirmek ve çok daha fazlası için sürekli olarak üzerinde çalışır.
Git deposundaki herhangi bir değişiklik için geliştiricilerin doğru eylem için doğru komutları bilmesi gerekir. Aşağıda önemli ve yaygın olarak kullanılan Git komutlarının bir listesi bulunmaktadır:
Ortak Git Komutları
git ekle
Belirtilen dosya(lar)ı hazırlamaya eklemek için
git add <file> -- add a specific file git add * -- add all the files
git arşivi
Taahhütler, dallar ve ağaçlardan oluşan arşivler oluşturur ve birden çok dosyayı tek bir dosyada birleştirir. Gerektiğinde dosyaları ayıklayarak içeriği alabilirsiniz.
git archive HEAD
— deponun HEAD referansından bir arşiv oluşturun
git archive output = '.tar'
- arşivlenen dosyaları verilen konumda depolar
git archive --format=tar.gz
— tar, zip, tar.gz gibi arşivlenen dosyanın biçimini belirtir
git şubesi
Depodaki tüm dalları listeler. Bir dal belirtilirse, adıyla yeni bir dal oluşturulur. Bir dalı silmek için, dal adıyla birlikte -d seçeneğini kullanın. Geçerli bir dalı yeniden adlandırmak için -m kullanın.
git branch
— tüm dalları listeler
git branch <branch_name
> — 'branch_name' adında yeni bir dal oluşturur ama yeni dalı kontrol etmez.
git branch -d <branch_name>
— dalı siler, birleştirilmemiş değişiklikler varsa silmeyi önler
git branch -D <branch_name>
— birleştirilmemiş değişiklikler olsa bile dalı silmeye zorla
git branch -m <branch2>
— geçerli dalı yeniden adlandır
git kedi dosyası
Depo nesnelerinin içerik veya boyut/tür bilgilerini görüntüleme
git cat-file <object>
— nesne içeriğini gösterir
git cat-file -t <object>
— nesnenin türünü görüntüler
git cat-file -s <object>
— nesnenin boyutunu gösterir
git cat-file -p <object>
— nesnenin türünü güzel bir şekilde yazdırır
git cat-file -e <object>
— nesne geçersiz bir biçime sahipse veya mevcut değilse stderr'deki hatayı gösterir
git cat-file <type> <object>
— bir nesnenin ham içeriğini gösterir
git ödeme
Bir havuzun farklı dalları arasında geçiş yapmak için onu dikkatli kullanın, çünkü bunun için 'geri alma' yoktur.
git checkout <branch_name>
— belirtilen dalı kontrol eder
git checkout -b <branch_name>
— yeni bir şube oluştur ve bu şubeye geç
Örneğin:
C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'
git temiz
Çalışan yönetmeni temizleyin. Taahhüt edilen dosyalar kaldırılmayacak
git clean -n
— kaldırılacak dosyaları listeler
git clean -f
— dosyaları kaldırır
git klonu
Mevcut deponun bir kopyasını yeni bir dizine oluşturun. Merkezi bir deponun geliştirme kopyasını almak için kullanışlıdır.
git clone <central_repo> <new_dir>
— merkezi deponun bir kopyasını yeni bir dizine oluşturun
Örneğin:
C:\Users\geek>git clone geekflare master Cloning into 'master'… done.
git clone -branch <branch> <repo>
— belirtilen depodan bir dalı klonlar
git taahhüt
Başkalarının görebilmesi için değişiklikleri hazırlama ortamına kaydeder.
git commit
— evrelemedeki değişiklikleri taahhüt et
git commit -m <useful_msg>
- taahhüt üzerine yapılan değişiklikleri vurgulamak için bir mesaj verir
git commit -a
— değişiklikleri aşamalandırmadan doğrudan gerçekleştirin
Diyelim ki çalışma dizininize samplefile.txt adlı bir dosya eklediniz ve dosyayı işlemek istiyorsunuz. Yukarıdaki komutu verdiğinizde şu çıktıyı alacaksınız:
Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt
Mesajı verdiğinizde, değişiklikler taahhüt edilir:
C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt
git yapılandırma
Bir özellik değerinin yazılacağı yapılandırma düzeyini belirtir. 'Yerel' düzey varsayılandır (hiçbir şey belirtilmediğinde).
git config –local
— yapılandırmayı deponun .git dizinine kaydeder
git config –global
— yapılandırmayı kullanıcının ana dizinine kaydeder
git config –system
— tüm kullanıcıların ve depoların yapılandırmasını içerir ve kökün git yapılandırma dosyasında bulunur.
git fark
Hazırlamadan önce, hazırlamada ve hazırlamadan (taahhüt) sonra yapılabilen git deposundaki değişiklikleri karşılaştırın.
git diff
- henüz sahnelenmemiş repo değişikliklerini takip edin
git diff --staged
— aşamalı dosyalardaki değişiklikleri (taahhüt edilmeyen) izleyin
git diff HEAD
- taahhütten sonra dosya değişikliklerini izleyin
git diff <commit1_id> <commit2_id>
— iki taahhüt arasındaki değişiklikleri izleyin; commit_ids'i ' git log -p --follow --filename
' kullanarak öğrenebilirsiniz.
git getir
Bir şubeyi veya tüm uzak depoyu getir
git fetch <remote-url>
— uzak depo URL'sinden tüm depoyu al
git fetch <branch_url> <branchname>
— belirli dalı getirir
git fetch -all
— uzak bir deponun tüm dallarını getirir
git fetch origin
— yerel depoyu uzak depodaki yeni değişikliklerle güncelleyin ve senkronize edin
git fsck
Dosya Sistemi Denetimi komutu , veritabanı nesnelerinin geçerliliğini ve bağlantısını kontrol eder. Nesnelerin SHA-1ID'sini ve yaptıkları bağlantıları kontrol eder. Fsck, kayıp taahhütleri ve dosyaları kurtarmak için kullanışlıdır.
git fsck –full
git gc
Geçerli depoda çöp toplama işlemini çalıştırır ve kullanılmayan dosyaları temizler.
git gc
git grep
Depodaki belirli içeriği arar. Git, farklı şekillerde arama yapmak için birçok seçenek sunar
git grep -i 'search_term'
— büyük/küçük harf dikkate alınmadan arama [İnsan ve insan aynı olacak]
git grep -f <file_name>
— belirli bir dosyanın eşleşen modellerini gösterir
git grep -e 'search-term'
- kalıp eşleştirme için -e kullanın
git grep -E 'regexp|multiple_exp'
–Düzenli ifadeleri arayın, boru (VEYA) operatörünü kullanarak birden çok arama yapabiliriz
git grep -n 'expr'
- eşleşen satırın önek satır numarası
git grep -c 'expr'
— her satır yerine eşleşen satır sayısını gösterir
git ls ağacı
Geçerli dizinden bir ağaç nesnesinin içeriğini listelemek için.
git ls -tree -d <path>
— çocukları değil, yalnızca belirtilen ağaç girişini göster
git ls -tree -r
— alt ağaçlara dönüş
git ls -tree -l
— dosya (blob) nesnelerinin boyutunu gösterir
git ls -tree --name-only
— uzun çıktıyı değil, yalnızca dosya adlarını görüntüler
git ls -tree --full-name
- yalnızca geçerli dizine göreli yolu değil, tam yol adlarını gösterir
Örnek:
C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js
git init
Yeni bir boş depo oluşturun. Git projesi yapmak için yürüttüğünüz ilk komuttur.

git init
— çalışma dizininde bir .git deposu oluşturur,
Örneğin, 'geekflare' adında yeni bir repo oluşturmak için komutu şu şekilde verin:
$ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/
git instaweb
Bir tarayıcı aracılığıyla git deposuna göz atmak için Kullanıcı Arayüzü. Bunun için CGI komut dosyası GitWeb'i kullanır.
git instaweb --httpd=webrick
— sunucuyu (httpd) başlatır ve sayfada web tarayıcısını açar.
Sunucuyu durdurmak için yukarıdaki komutu –stop seçeneğiyle birlikte kullanın.
git günlüğü
Git deposundaki her etkinliği kaydeder.
git log
— son birkaç taahhüdü görüntüler
git log --oneline
— çıktıyı SHA'nın ilk 7 karakteri olarak ve satır başına bir taahhüt içeren taahhüt mesajını gösterir
git log stat
— eklenen/kaldırılan satır sayısı, değiştirilen toplam kayıtların özeti, eklenen/kaldırılan satırlar gibi değiştirilen dosyalar hakkında daha fazla bilgi görüntüler
git log --patch (or -p)
- değiştirilen dosyaları, belirli değişiklikleri ve konumlarını gösterir
git log --graph
— Günlük sonuçlarını grafik biçiminde görüntüle
git log -<n>
— son 'n' taahhüt sayısını göster
git log --after=<date/x days/yesterday>
— belirli bir tarihten sonraki tüm taahhütleri görüntüler. Belirtilen tarihten önce taahhütleri görüntülemek için --before
kullanabilirsiniz.
git log --author=<author_name>
— belirli bir yazarın (kullanıcının) taahhütlerini görüntüler.
git log --grep=<commit message>
— taahhütleri taahhüt mesajına göre filtreler
git birleştirme
Tüm geliştirme dosyalarını tek bir dalda bütünleştirir, iki dalı birleştirir ve birden çok işlemi tek bir geçmişte birleştirir. Bir çakışma varsa birleştirme durur ve git çakışma dosyalarını sunar. Çakışmalar çözüldükten sonra birleştirme devam eder.
git checkout -b
- önce, birleştirilecek dalı kontrol edin
git add <file>
git commit
— dosyaları ekleyin ve onaylayın
git checkout master
git merge
— dalı master ile birleştirir
git kuru erik
Geçerli daldan erişilemeyen dosyaları siler (Kuru erir). Kullanılmayan dosyaları şubeden kaldırmak için yapılan bir temizleme işlemidir.
git prune -n
— budama yapmayın, sadece neyin budanabileceğini gösterin
git prune -v
- kuru erik tarafından yapılan eylemlerin çıktısını gösterir
git prune --progress
— kuru eriğin ilerlemesini gösterir
git fetch --prune
— tüm güncel olmayan dalları budar
git çek
Uzak bir sunucudan çalışan bir havuza veri alır. Yerel (çalışan) dalı, uzak depodaki en son dosyalarla günceller.
git pull
— uzak depoyu çeker
git pull <repo URL>
— belirli bir uzak dalı çeker
git itme
Tüm yerel değişiklikleri uzak depoya gönderir. Çek ve getir komutlarının tam tersi olan bir yükleme işlemidir.
git checkout master
— en son değişiklikleri içeren şubeyi kontrol edin
git push origin master
— değişiklikleri uzak depoya gönder
Örnek:
C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch
git push --delete <branch>
komutunu kullanarak uzak bir dalı silmek için Push'u da kullanabiliriz.
Örneğin:
C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch
git rebase
Yeni bir nihai temel taahhüt oluşturmak için farklı dallardan birden çok işlemi birleştirir. Tüm değişiklikleri birleştirmeden önce, farklı dallardan değişiklikleri birer birer (doğrusal olarak) işlemek için kullanışlıdır.
git rebase <branch name>
— taahhütleri tek bir son tabanda birleştirin
Herhangi bir çakışma varsa, bunları çözün ve yeniden temellendirmeye devam edin:
git rebase --continue
Herhangi bir değişikliği atlamak için:
git rebase --skip
git uzaktan
Uzak sunucunun yapılandırmasını kontrol eder ve uzak ile yerel arasında bağlantı erişimine izin verir.
git remote
— varsayılan olarak, Git tarafından verilen uzak sunucunun varsayılan adı olan 'origin' değerini döndürür
git remote -v
- mevcut tüm uzak bağlantıların kısa adlarını ve URL'lerini listeler
git remote add <short name> <remote url>
— uzak sunucuyu mevcut bağlantılara açıkça ekleyin. Kısa ad, URL'nin tamamını vermek yerine git komutları için kullanılabilir.
git remote remove <remote url/short name>
— uzak sunucuyu depodan kaldırır
git sıfırlama
Önceki bir işleme geri dönün ve bu taahhütten sonra yapılan değişiklikleri atın
git reset <hash of the commit>
- depoyu belirtilen işleme geri yükler. Git, taahhüt geçmişini saklayacaktır, böylece bir sıfırlamayı geri almak için farklı bir taahhüt (karma) ile başka bir sıfırlama yapabilirsiniz.
git rm
Belirli dosyayı git'ten kaldırır. Reset veya checkout komutunu kullanarak rm'nin etkisini geri alabilirsiniz.
git rm <file_ name>
— belirli dosyayı kaldırır
Dosyaları git'ten kaldırmak, ancak yerel (hazırlama) içinde tutmak için şunu kullanın:
git rm --cached
git gösterisi
SHA1'ini belirterek blob, ağaç, taahhüt veya etiket gibi herhangi bir nesneyi görüntüleyin
git show
- <object> belirtilmemesi, daldaki son taahhüdün ayrıntılarını gösterir.
git show <SHA1_id>
— nesnenin SHA1 kimliğiyle belirtilen içeriğini, örneğin blob kimliği, ağaç kimliği vb. gösterir. Nesnenin türünü kontrol etmek için git cat-file -t
komutunu kullanın
git show –pretty
- çıktıyı güzel bir biçimde gösterir.
Özel bir biçim sağlayabilirsiniz:
git show --pretty = 'format:Name: <format>'
Veya kısa, tam, tek satır, orta veya daha dolu biçimlerden birini kullanabilirsiniz, örneğin:
git show --pretty= 'medium'
- bu, yazarı, tarihi, başlığı ve tam taahhüt mesajını gösterir
git show --abbrev-commit
— SHA1'i kısaltmak için
git zulası
Geçerli şubede taahhütte bulunmadan şubeler arasında geçiş yapmak için taahhüt edilmemiş verileri güvenli bir şekilde saklayın
git stash
— çalışmayı ve dizin durumunu kaydeder
git stash save <message>
— kaydederken bir mesaj ver
git stash list
— Saklanan içeriğin listesini görüntüleyin
git stash apply
- saklanan değişiklikleri yapın. Belirli bir zulanın değişikliklerini uygulamak için, uygula ile birlikte zula dizin kimliğini kullanın.
git stash show
- saklanan dosyaların içeriğini görüntüleyin
git stash drop
— en son zulayı kuyruktan kaldırır
git durumu
Deponun ve hazırlamanın durumunu, yani taahhüt aşamasından önceki durumu görüntüleyin. Bu komutu, dosya ekleme, güncelleme veya kaldırma gibi herhangi bir git komutundan sonra kullanabilirsiniz.
git status
— taahhüt edilecek veya izlenmeyen (aşamalı olmayan) değişiklikleri gösterir
Örneğin, çalışma dizininize samplefile.txt adında bir dosya ekler ve eklenip eklenmediğini kontrol ederseniz yukarıdaki komutu verebilirsiniz. Aşağıdaki gibi çıktıyla sonuçlanacaktır:
On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt
git etiketi
Kolay referanslar, koddaki kilometre taşlarını veya referans noktalarını belirtmek için kullanılır
git tag <tag_name>
- verilen adla bir etiket oluşturun
git tag
— mevcut tüm etiketleri listeler
git tag show <tag_name>
— belirtilen etiketin ayrıntılarını gösterir
git tag -l “.*”
— belirtilen kalıp veya karakterlerle eşleşen etiketleri gösterir
gitk
İçeriği, taahhütleri, tam farkı ve diğer ayrıntıları bir pencerede görüntüleyen git kullanıcı arabirimini başlatır
gitk
— görselleştirme için git deposunu bir pencerede açın
git versiyonu
Kullanmakta olduğunuz git sürümünü kontrol etmek için git version komutunu kullanın.
C:\Users\geekflare>git version git version 2.38.0.windows.1
Son sözler
Bu gönderi, seçenekleriyle birlikte en sık kullanılan git komutlarını listelemiştir.
Ardından GitHub kimlik bilgileri tarayıcısını kontrol edebilirsiniz.