Yeni Başlayanlar için 32 Git Komutları Hile Sayfası

Yayınlanan: 2022-09-23

GIT 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.