{"id":37908,"date":"2026-01-18T12:30:36","date_gmt":"2026-01-18T09:30:36","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/"},"modified":"2026-01-18T12:30:36","modified_gmt":"2026-01-18T09:30:36","slug":"git-kullaniminin-temelleri-surum-kontrolune-giris","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/","title":{"rendered":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f"},"content":{"rendered":"<h2>Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f<\/h2>\n<p>Yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda projelerin y\u00f6netimi, ekip \u00e7al\u0131\u015fmas\u0131 ve kod taban\u0131n\u0131n evrimi, s\u00fcr\u00fcm kontrol sistemleri olmadan d\u00fc\u015f\u00fcn\u00fclemez. Git, g\u00fcn\u00fcm\u00fcz\u00fcn en pop\u00fcler ve g\u00fc\u00e7l\u00fc da\u011f\u0131t\u0131k s\u00fcr\u00fcm kontrol sistemlerinden biridir. Bu makale, Git&#8217;in ne oldu\u011funu, neden bu kadar \u00f6nemli oldu\u011funu ve temel kullan\u0131m ad\u0131mlar\u0131n\u0131 ba\u015flang\u0131\u00e7 seviyesinden itibaren detayl\u0131 bir \u015fekilde ele alarak, s\u00fcr\u00fcm kontrol d\u00fcnyas\u0131na sa\u011flam bir giri\u015f yapman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h3>Git Nedir ve Neden Kullan\u0131l\u0131r?<\/h3>\n<p>Git, yaz\u0131l\u0131m geli\u015ftirme projelerinde kaynak kod de\u011fi\u015fikliklerini takip etmek, y\u00f6netmek ve farkl\u0131 geli\u015ftiricilerin ayn\u0131 proje \u00fczerinde e\u015f zamanl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak amac\u0131yla kullan\u0131lan \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131 bir da\u011f\u0131t\u0131k s\u00fcr\u00fcm kontrol sistemidir (DVCS). Linus Torvalds taraf\u0131ndan 2005 y\u0131l\u0131nda Linux \u00e7ekirde\u011fi geli\u015ftirme s\u00fcrecini y\u00f6netmek i\u00e7in olu\u015fturulmu\u015ftur.<\/p>\n<h4>S\u00fcr\u00fcm Kontrol Sistemi (VCS) Kavram\u0131<\/h4>\n<p>S\u00fcr\u00fcm kontrol sistemleri, zaman i\u00e7inde dosyalarda yap\u0131lan de\u011fi\u015fiklikleri kaydetmenizi ve bu de\u011fi\u015fiklikleri y\u00f6netmenizi sa\u011flayan ara\u00e7lard\u0131r. Bir dosyan\u0131n \u00f6nceki s\u00fcr\u00fcmlerine geri d\u00f6nebilir, kimin ne zaman hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131 g\u00f6rebilir ve farkl\u0131 de\u011fi\u015fiklikleri birle\u015ftirebilirsiniz. Bu, \u00f6zellikle birden fazla ki\u015finin ayn\u0131 proje \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 durumlarda kritik \u00f6neme sahiptir.<\/p>\n<h4>Da\u011f\u0131t\u0131k S\u00fcr\u00fcm Kontrol\u00fc (DVCS) Fark\u0131<\/h4>\n<p>Geleneksel merkezi s\u00fcr\u00fcm kontrol sistemlerinde (SVN gibi), t\u00fcm proje ge\u00e7mi\u015fi tek bir merkezi sunucuda tutulur. Git gibi da\u011f\u0131t\u0131k sistemlerde ise, her geli\u015ftiricinin kendi bilgisayar\u0131nda projenin tam bir kopyas\u0131 (t\u00fcm ge\u00e7mi\u015fiyle birlikte) bulunur. Bu durum, internet ba\u011flant\u0131s\u0131 olmadan da \u00e7al\u0131\u015fmaya devam etme, daha h\u0131zl\u0131 i\u015flem yapma ve merkezi sunucunun \u00e7\u00f6kmesi durumunda veri kayb\u0131 riskinin azalmas\u0131 gibi \u00f6nemli avantajlar sunar.<\/p>\n<h4>Git&#8217;in Avantajlar\u0131<\/h4>\n<p>Git&#8217;in yayg\u0131n olarak tercih edilmesinin bir\u00e7ok nedeni vard\u0131r:<\/p>\n<ul>\n<li><strong>H\u0131z:<\/strong> Yerel i\u015flemler sayesinde \u00e7o\u011fu i\u015flem olduk\u00e7a h\u0131zl\u0131d\u0131r.<\/li>\n<li><strong>Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc:<\/strong> Kriptografik karma fonksiyonlar\u0131 kullanarak her de\u011fi\u015fikli\u011fin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc sa\u011flar.<\/li>\n<li><strong>Da\u011f\u0131t\u0131k Yap\u0131:<\/strong> Her geli\u015ftiricinin kendi deposu oldu\u011fu i\u00e7in merkezi bir ar\u0131za noktas\u0131 yoktur.<\/li>\n<li><strong>\u0130\u015fbirli\u011fi:<\/strong> Farkl\u0131 geli\u015ftiricilerin ayn\u0131 kod taban\u0131 \u00fczerinde kolayca \u00e7al\u0131\u015fmas\u0131n\u0131 ve de\u011fi\u015fiklikleri birle\u015ftirmesini sa\u011flar.<\/li>\n<li><strong>Dallanma ve Birle\u015ftirme:<\/strong> Yeni \u00f6zellikler geli\u015ftirmek veya hatalar\u0131 d\u00fczeltmek i\u00e7in kolayca dallar (branch) olu\u015fturulabilir ve ana projeye geri birle\u015ftirilebilir.<\/li>\n<\/ul>\n<h3>Git Kurulumu ve Temel Ayarlar<\/h3>\n<p>Git&#8217;i kullanmaya ba\u015flamadan \u00f6nce bilgisayar\u0131n\u0131za kurman\u0131z ve temel kullan\u0131c\u0131 bilgilerinizi yap\u0131land\u0131rman\u0131z gerekir.<\/p>\n<h4>\u0130\u015fletim Sistemine G\u00f6re Kurulum<\/h4>\n<p>Git&#8217;i kurmak olduk\u00e7a basittir:<\/p>\n<ul>\n<li><strong>Windows:<\/strong> Git&#8217;in resmi web sitesinden (git-scm.com) &#8220;Git for Windows&#8221; y\u00fckleyicisini indirebilirsiniz. Kurulum s\u0131ras\u0131nda varsay\u0131lan se\u00e7enekleri genellikle yeterlidir.<\/li>\n<li><strong>macOS:<\/strong> Homebrew kullan\u0131yorsan\u0131z <code>brew install git<\/code> komutuyla veya Xcode Command Line Tools ile birlikte otomatik olarak y\u00fcklenebilir.<\/li>\n<li><strong>Linux:<\/strong> \u00c7o\u011fu Linux da\u011f\u0131t\u0131m\u0131nda paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kurulabilir. \u00d6rne\u011fin, Debian\/Ubuntu i\u00e7in <code>sudo apt install git<\/code>, Fedora i\u00e7in <code>sudo dnf install git<\/code> komutunu kullanabilirsiniz.<\/li>\n<\/ul>\n<p>Kurulumun ard\u0131ndan terminalinizi (komut istemcisini) a\u00e7\u0131p <code>git --version<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak Git&#8217;in do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz.<\/p>\n<h4>Kullan\u0131c\u0131 Bilgilerini Yap\u0131land\u0131rma (<code>git config<\/code>)<\/h4>\n<p>Git, yapt\u0131\u011f\u0131n\u0131z her commit&#8217;in (kay\u0131t) kim taraf\u0131ndan yap\u0131ld\u0131\u011f\u0131n\u0131 bilmek ister. Bu nedenle, ilk kullan\u0131mda kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve e-posta adresinizi ayarlaman\u0131z \u00f6nemlidir.<\/p>\n<pre><code>git config --global user.name \"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"\ngit config --global user.email \"eposta@adresiniz.com\"\n<\/pre>\n<p><\/code><br \/>\n<code>--global<\/code> bayra\u011f\u0131, bu ayarlar\u0131n bilgisayar\u0131n\u0131zdaki t\u00fcm Git depolar\u0131 i\u00e7in ge\u00e7erli olmas\u0131n\u0131 sa\u011flar. Belirli bir depo i\u00e7in farkl\u0131 bir kullan\u0131c\u0131 ad\u0131 veya e-posta adresi kullanmak isterseniz, <code>--global<\/code> bayra\u011f\u0131n\u0131 kullanmadan ilgili deponun dizininde bu komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>Varsay\u0131lan Edit\u00f6r Ayar\u0131<\/h4>\n<p>Git, commit mesajlar\u0131 yazarken veya birle\u015ftirme \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00e7\u00f6zerken bir metin edit\u00f6r\u00fc kullan\u0131r. Varsay\u0131lan olarak Vim gibi bir edit\u00f6r gelebilir. Kendi tercih etti\u011finiz edit\u00f6r\u00fc (\u00f6rne\u011fin VS Code) ayarlayabilirsiniz:<\/p>\n<pre><code>git config --global core.editor \"code --wait\"\n<\/pre>\n<p><\/code><br \/>\nBu komut, VS Code'u varsay\u0131lan edit\u00f6r olarak ayarlar ve Git'in VS Code penceresi kapat\u0131lana kadar beklemesini sa\u011flar.<\/p>\n<h3>Git Deposu Olu\u015fturma ve Y\u00f6netme<\/h3>\n<p>Bir projeyi Git ile s\u00fcr\u00fcm kontrol\u00fc alt\u0131na almak i\u00e7in \u00f6ncelikle bir Git deposu (repository) olu\u015fturman\u0131z gerekir.<\/p>\n<h4>Yeni Bir Depo Ba\u015flatma (<code>git init<\/code>)<\/h4>\n<p>Mevcut bir proje klas\u00f6r\u00fcn\u00fc Git deposuna d\u00f6n\u00fc\u015ft\u00fcrmek veya yeni bir Git projesi ba\u015flatmak i\u00e7in <code>git init<\/code> komutunu kullan\u0131r\u0131z.<\/p>\n<pre><code>cd \/yol\/proje_klasorune\ngit init\n<\/pre>\n<p><\/code><br \/>\nBu komut, proje klas\u00f6r\u00fcn\u00fczde gizli bir <code>.git<\/code> dizini olu\u015fturur. Bu dizin, Git'in projenin t\u00fcm s\u00fcr\u00fcm ge\u00e7mi\u015fini ve yap\u0131land\u0131rmas\u0131n\u0131 saklad\u0131\u011f\u0131 yerdir.<\/p>\n<h4>Mevcut Bir Depoyu Klonlama (<code>git clone<\/code>)<\/h4>\n<p>GitHub, GitLab veya Bitbucket gibi uzak bir depoda bulunan mevcut bir projeyi kendi bilgisayar\u0131n\u0131za indirmek i\u00e7in <code>git clone<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code>git clone <uzak_depo_url>\n<\/pre>\n<p><\/code><br \/>\n\u00d6rne\u011fin:<\/p>\n<pre><code>git clone https:\/\/github.com\/kullaniciadi\/projeadi.git\n<\/pre>\n<p><\/code><br \/>\nBu komut, uzak depodaki t\u00fcm dosyalar\u0131 ve projenin tam ge\u00e7mi\u015fini i\u00e7eren yeni bir klas\u00f6r olu\u015fturur.<\/p>\n<h4>Depo Durumunu Kontrol Etme (<code>git status<\/code>)<\/h4>\n<p><code>git status<\/code> komutu, \u00e7al\u0131\u015fma dizininizin ve haz\u0131rl\u0131k alan\u0131n\u0131z\u0131n (staging area) mevcut durumunu g\u00f6sterir. Hangi dosyalar\u0131n de\u011fi\u015ftirildi\u011fini, hangilerinin haz\u0131rl\u0131k alan\u0131na eklendi\u011fini ve hangilerinin hen\u00fcz takip edilmedi\u011fini listeler.<\/p>\n<pre><code>git status\n<\/pre>\n<p><\/code><br \/>\nBu komut, bir sonraki commit'inizde nelerin yer alaca\u011f\u0131n\u0131 anlamak i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n<h3>De\u011fi\u015fiklikleri Takip Etme ve Kaydetme<\/h3>\n<p>Git'in temel i\u015f ak\u0131\u015f\u0131, dosyalarda yap\u0131lan de\u011fi\u015fiklikleri takip etmek, haz\u0131rl\u0131k alan\u0131na eklemek ve ard\u0131ndan bu de\u011fi\u015fiklikleri depoya kaydetmekten (commit) olu\u015fur.<\/p>\n<h4>\u00c7al\u0131\u015fma Dizini, Haz\u0131rl\u0131k Alan\u0131 ve Depo<\/h4>\n<p>Git'in \u00fc\u00e7 ana durumu vard\u0131r:<\/p>\n<ul>\n<li><strong>\u00c7al\u0131\u015fma Dizini (Working Directory):<\/strong> Proje dosyalar\u0131n\u0131z\u0131n bulundu\u011fu ve \u00fczerinde de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131z aland\u0131r.<\/li>\n<li><strong>Haz\u0131rl\u0131k Alan\u0131 (Staging Area\/Index):<\/strong> Bir sonraki commit'e dahil etmek istedi\u011finiz de\u011fi\u015fiklikleri ge\u00e7ici olarak tuttu\u011funuz aland\u0131r.<\/li>\n<li><strong>Git Deposu (Git Repository):<\/strong> Commit edilmi\u015f t\u00fcm de\u011fi\u015fikliklerin kal\u0131c\u0131 olarak sakland\u0131\u011f\u0131 veritaban\u0131d\u0131r.<\/li>\n<\/ul>\n<h4>De\u011fi\u015fiklikleri Haz\u0131rl\u0131k Alan\u0131na Ekleme (<code>git add<\/code>)<\/h4>\n<p>\u00c7al\u0131\u015fma dizininizde yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri bir sonraki commit'e dahil etmek i\u00e7in <code>git add<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code>git add dosya_adi.txt         # Belirli bir dosyay\u0131 ekle\ngit add .                     # T\u00fcm de\u011fi\u015ftirilmi\u015f ve yeni dosyalar\u0131 ekle\ngit add *.js                  # Belirli bir desene uyan dosyalar\u0131 ekle\n<\/pre>\n<p><\/code><br \/>\nBu komut, dosyalar\u0131 \u00e7al\u0131\u015fma dizininden haz\u0131rl\u0131k alan\u0131na ta\u015f\u0131r.<\/p>\n<h4>De\u011fi\u015fiklikleri Kaydetme (<code>git commit<\/code>)<\/h4>\n<p>Haz\u0131rl\u0131k alan\u0131ndaki de\u011fi\u015fiklikleri kal\u0131c\u0131 olarak Git deposuna kaydetmek i\u00e7in <code>git commit<\/code> komutunu kullan\u0131rs\u0131n\u0131z. Her commit, projenin belirli bir anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc temsil eder ve benzersiz bir kimli\u011fe (hash) sahiptir.<\/p>\n<pre><code>git commit -m \"Anlaml\u0131 commit mesaj\u0131 buraya\"\n<\/pre>\n<p><\/code><br \/>\n<code>-m<\/code> bayra\u011f\u0131 ile commit mesaj\u0131n\u0131 do\u011frudan komut sat\u0131r\u0131nda yazabilirsiniz. Daha uzun veya detayl\u0131 mesajlar i\u00e7in <code>git commit<\/code> yaz\u0131p enter'a bast\u0131\u011f\u0131n\u0131zda varsay\u0131lan edit\u00f6r\u00fcn\u00fcz a\u00e7\u0131lacakt\u0131r. \u0130yi bir commit mesaj\u0131, yap\u0131lan de\u011fi\u015fikli\u011fin amac\u0131n\u0131 ve i\u00e7eri\u011fini a\u00e7\u0131k\u00e7a belirtmelidir.<\/p>\n<h4>De\u011fi\u015fiklik Ge\u00e7mi\u015fini G\u00f6r\u00fcnt\u00fcleme (<code>git log<\/code>)<\/h4>\n<p>Projenin t\u00fcm commit ge\u00e7mi\u015fini g\u00f6rmek i\u00e7in <code>git log<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code>git log\n<\/pre>\n<p><\/code><br \/>\nBu komut, commit kimli\u011fini (hash), yazar\u0131n ad\u0131n\u0131 ve e-postas\u0131n\u0131, commit tarihini ve commit mesaj\u0131n\u0131 g\u00f6sterir. Ge\u00e7mi\u015fi daha \u00f6zet veya g\u00f6rsel bir \u015fekilde g\u00f6rmek i\u00e7in \u00e7e\u015fitli bayraklar kullanabilirsiniz:<\/p>\n<pre><code>git log --oneline           # Her commit'i tek sat\u0131rda g\u00f6ster\ngit log --graph --oneline   # Commit ge\u00e7mi\u015fini grafiksel olarak g\u00f6ster\ngit log -p                  # Her commit'teki de\u011fi\u015fiklikleri (diff) g\u00f6ster\n<\/pre>\n<p><\/code><\/p>\n<h3>Dallanma (Branching) ve Birle\u015ftirme (Merging)<\/h3>\n<p>Git'in en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri dallanma (branching) yetene\u011fidir. Bu, ana kod taban\u0131ndan ayr\u0131l\u0131p yeni \u00f6zellikler geli\u015ftirmek veya hatalar\u0131 d\u00fczeltmek i\u00e7in izole \u00e7al\u0131\u015fma ortamlar\u0131 olu\u015fturman\u0131z\u0131 sa\u011flar.<\/p>\n<h4>Branch Nedir ve Neden Kullan\u0131l\u0131r?<\/h4>\n<p>Bir branch, projenin ana kod taban\u0131n\u0131n (genellikle <code>main<\/code> veya <code>master<\/code> olarak adland\u0131r\u0131l\u0131r) ba\u011f\u0131ms\u0131z bir kopyas\u0131d\u0131r. Geli\u015ftiriciler, yeni bir \u00f6zellik \u00fczerinde \u00e7al\u0131\u015f\u0131rken veya bir hata d\u00fczeltirken ana kod taban\u0131n\u0131 etkilemeden kendi branch'lerinde \u00e7al\u0131\u015fabilirler. \u0130\u015fleri bitti\u011finde, de\u011fi\u015fikliklerini ana branch'e geri birle\u015ftirebilirler. Bu, paralel geli\u015ftirmeyi ve g\u00fcvenli denemeleri m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<h4>Yeni Bir Branch Olu\u015fturma ve Ge\u00e7i\u015f Yapma (<code>git branch<\/code>, <code>git checkout<\/code>)<\/h4>\n<p>Yeni bir branch olu\u015fturmak i\u00e7in:<\/p>\n<pre><code>git branch yeni-ozellik\n<\/pre>\n<p><\/code><br \/>\nMevcut branch'leri listelemek ve hangi branch'te oldu\u011funuzu g\u00f6rmek i\u00e7in:<\/p>\n<pre><code>git branch\n<\/pre>\n<p><\/code><br \/>\nOlu\u015fturdu\u011funuz branch'e ge\u00e7i\u015f yapmak i\u00e7in:<\/p>\n<pre><code>git checkout yeni-ozellik\n<\/pre>\n<p><\/code><br \/>\nYeni bir branch olu\u015fturup do\u011frudan o branch'e ge\u00e7mek i\u00e7in daha k\u0131sa bir yol:<\/p>\n<pre><code>git checkout -b yeni-ozellik\n<\/pre>\n<p><\/code><\/p>\n<h4>Branchleri Birle\u015ftirme (<code>git merge<\/code>)<\/h4>\n<p>Bir branch'te yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri ba\u015fka bir branch'e (\u00f6rne\u011fin <code>main<\/code> branch'ine) entegre etmek i\u00e7in birle\u015ftirme (merge) i\u015flemi kullan\u0131l\u0131r.<br \/>\n\u00d6nce ana branch'e ge\u00e7in:<\/p>\n<pre><code>git checkout main\n<\/pre>\n<p><\/code><br \/>\nArd\u0131ndan, geli\u015ftirdi\u011finiz branch'i ana branch'e birle\u015ftirin:<\/p>\n<pre><code>git merge yeni-ozellik\n<\/pre>\n<p><\/code><br \/>\nBirle\u015ftirme ba\u015far\u0131l\u0131 olursa, <code>yeni-ozellik<\/code> branch'indeki t\u00fcm de\u011fi\u015fiklikler <code>main<\/code> branch'ine eklenmi\u015f olur. Art\u0131k <code>yeni-ozellik<\/code> branch'ine ihtiyac\u0131n\u0131z kalmad\u0131ysa silebilirsiniz:<\/p>\n<pre><code>git branch -d yeni-ozellik\n<\/pre>\n<p><\/code><\/p>\n<h4>\u00c7ak\u0131\u015fmalar\u0131 (Conflicts) \u00c7\u00f6zme<\/h4>\n<p>\u0130ki farkl\u0131 branch birle\u015ftirilirken ayn\u0131 dosyan\u0131n ayn\u0131 sat\u0131rlar\u0131nda farkl\u0131 de\u011fi\u015fiklikler yap\u0131lm\u0131\u015fsa, Git otomatik olarak birle\u015ftirme yapamaz ve bir \"birle\u015ftirme \u00e7ak\u0131\u015fmas\u0131\" (merge conflict) olu\u015fur. Bu durumda Git, \u00e7ak\u0131\u015fan k\u0131s\u0131mlar\u0131 \u00f6zel i\u015faretleyicilerle g\u00f6sterir ve manuel olarak \u00e7\u00f6zmenizi bekler.<br \/>\n\u00c7ak\u0131\u015fan dosyay\u0131 a\u00e7t\u0131\u011f\u0131n\u0131zda \u015funa benzer bir yap\u0131 g\u00f6r\u00fcrs\u00fcn\u00fcz:<\/p>\n<pre><code><<<<<<< HEAD\nBu, mevcut branch'teki (main) kod.\n=======\nBu, birle\u015ftirilen branch'teki (yeni-ozellik) kod.\n>>>>>>> yeni-ozellik\n<\/pre>\n<p><\/code><br \/>\n\u0130stedi\u011finiz s\u00fcr\u00fcm\u00fc se\u00e7erek veya her iki de\u011fi\u015fikli\u011fi birle\u015ftirerek \u00e7ak\u0131\u015fmay\u0131 \u00e7\u00f6zmelisiniz. \u00c7ak\u0131\u015fmay\u0131 \u00e7\u00f6zd\u00fckten sonra dosyay\u0131 kaydedin, haz\u0131rl\u0131k alan\u0131na ekleyin ve birle\u015ftirme i\u015flemini tamamlamak i\u00e7in commit edin:<\/p>\n<pre><code>git add dosya_adi.txt\ngit commit -m \"Birle\u015ftirme \u00e7ak\u0131\u015fmas\u0131 \u00e7\u00f6z\u00fcld\u00fc\"\n<\/pre>\n<p><\/code><\/p>\n<h3>Uzak Depolarla \u00c7al\u0131\u015fma<\/h3>\n<p>Git, da\u011f\u0131t\u0131k bir sistem oldu\u011fu i\u00e7in birden fazla geli\u015ftiricinin ayn\u0131 proje \u00fczerinde \u00e7al\u0131\u015fabilmesi i\u00e7in uzak depolarla (remote repositories) etkile\u015fim kurma yetene\u011fi sunar. GitHub, GitLab ve Bitbucket gibi platformlar, uzak depolar\u0131 bar\u0131nd\u0131rmak i\u00e7in pop\u00fcler se\u00e7eneklerdir.<\/p>\n<h4>Uzak Depo Ekleme (<code>git remote add<\/code>)<\/h4>\n<p>Mevcut bir yerel Git deposunu uzak bir depoya ba\u011flamak i\u00e7in <code>git remote add<\/code> komutunu kullan\u0131rs\u0131n\u0131z. Genellikle uzak depoya <code>origin<\/code> ad\u0131n\u0131 veririz.<\/p>\n<pre><code>git remote add origin https:\/\/github.com\/kullaniciadi\/projeadi.git\n<\/pre>\n<p><\/code><br \/>\nUzak depolar\u0131 listelemek i\u00e7in:<\/p>\n<pre><code>git remote -v\n<\/pre>\n<p><\/code><\/p>\n<h4>De\u011fi\u015fiklikleri Uzak Depoya G\u00f6nderme (<code>git push<\/code>)<\/h4>\n<p>Yerel deponuzdaki commit'leri uzak depoya g\u00f6ndermek i\u00e7in <code>git push<\/code> komutunu kullan\u0131rs\u0131n\u0131z.<\/p>\n<pre><code>git push -u origin main\n<\/pre>\n<p><\/code><br \/>\n<code>-u<\/code> (veya <code>--set-upstream<\/code>) bayra\u011f\u0131, yerel <code>main<\/code> branch'inizi <code>origin<\/code> adl\u0131 uzak deponun <code>main<\/code> branch'ine ba\u011flar. Bu sayede sonraki push i\u015flemleri i\u00e7in sadece <code>git push<\/code> yazman\u0131z yeterli olur.<\/p>\n<h4>De\u011fi\u015fiklikleri Uzak Depodan \u00c7ekme (<code>git pull<\/code>, <code>git fetch<\/code>)<\/h4>\n<p>Uzak depodaki de\u011fi\u015fiklikleri yerel deponuza indirmek i\u00e7in iki ana komut vard\u0131r:<\/p>\n<ul>\n<li><strong><code>git fetch<\/code>:<\/strong> Uzak depodaki de\u011fi\u015fiklikleri indirir ancak yerel \u00e7al\u0131\u015fma dizininizi veya branch'inizi g\u00fcncellemez. De\u011fi\u015fiklikleri incelemek ve manuel olarak birle\u015ftirmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong><code>git pull<\/code>:<\/strong> Uzak depodaki de\u011fi\u015fiklikleri indirir (fetch) ve otomatik olarak yerel branch'inizle birle\u015ftirir (merge). Genellikle bu komut tercih edilir.<\/li>\n<\/ul>\n<pre><code>git fetch origin\ngit pull origin main\n<\/pre>\n<p><\/code><br \/>\n<code>git pull<\/code> komutu, genellikle <code>git fetch<\/code> ve <code>git merge<\/code> i\u015flemlerinin birle\u015fimidir.<\/p>\n<h4>Uzak Depo Bilgilerini G\u00f6r\u00fcnt\u00fcleme<\/h4>\n<p>Uzak depolar hakk\u0131nda daha fazla bilgi almak i\u00e7in:<\/p>\n<pre><code>git remote show origin\n<\/pre>\n<p><\/code><br \/>\nBu komut, uzak deponun URL'lerini, takip edilen branch'leri ve di\u011fer ilgili bilgileri g\u00f6sterir.<\/p>\n<h3>Yayg\u0131n Git Komutlar\u0131 ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>Git'i daha verimli kullanmak i\u00e7in bilmeniz gereken baz\u0131 ek komutlar ve ipu\u00e7lar\u0131 vard\u0131r.<\/p>\n<h4>De\u011fi\u015fiklikleri Geri Alma (<code>git reset<\/code>, <code>git revert<\/code>)<\/h4>\n<p>Git'te yap\u0131lan hatalar\u0131 geri almak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler bulunur:<\/p>\n<ul>\n<li><strong><code>git reset<\/code>:<\/strong> Haz\u0131rl\u0131k alan\u0131ndaki veya commit edilmi\u015f de\u011fi\u015fiklikleri geri almak i\u00e7in kullan\u0131l\u0131r. Dikkatli kullan\u0131lmal\u0131d\u0131r, \u00e7\u00fcnk\u00fc ge\u00e7mi\u015fi de\u011fi\u015ftirebilir.\n<pre><code>git reset HEAD dosya_adi.txt   # Dosyay\u0131 haz\u0131rl\u0131k alan\u0131ndan \u00e7\u0131kar\u0131r\ngit reset --hard HEAD~1        # Son commit'i tamamen geri al\u0131r (yerel de\u011fi\u015fiklikleri de siler!)\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong><code>git revert<\/code>:<\/strong> Mevcut commit'i geri alan yeni bir commit olu\u015fturur. Bu, ge\u00e7mi\u015fi de\u011fi\u015ftirmek yerine yeni bir kay\u0131t ekledi\u011fi i\u00e7in daha g\u00fcvenli bir y\u00f6ntemdir, \u00f6zellikle payla\u015f\u0131lan depolarda.\n<pre><code>git revert <commit_hash>\n        <\/pre>\n<p><\/code>\n    <\/li>\n<\/ul>\n<h4>Dosyalar\u0131 Yoksayma (<code>.gitignore<\/code>)<\/h4>\n<p>Projenizde Git taraf\u0131ndan takip edilmesini istemedi\u011finiz dosyalar veya klas\u00f6rler olabilir (\u00f6rne\u011fin, derlenmi\u015f dosyalar, ge\u00e7ici dosyalar, loglar, yap\u0131land\u0131rma dosyalar\u0131). Bu t\u00fcr \u00f6\u011feleri <code>.gitignore<\/code> adl\u0131 bir dosyaya ekleyerek Git'in bunlar\u0131 g\u00f6rmezden gelmesini sa\u011flayabilirsiniz.<br \/>\n<code>.gitignore<\/code> dosyas\u0131 projenizin k\u00f6k dizininde bulunur ve her sat\u0131rda bir desen i\u00e7erir:<\/p>\n<pre><code># .gitignore \u00f6rnekleri\n*.log          # T\u00fcm .log uzant\u0131l\u0131 dosyalar\u0131 yoksay\n\/node_modules\/ # node_modules klas\u00f6r\u00fcn\u00fc yoksay\n.env           # .env dosyas\u0131n\u0131 yoksay\n<\/pre>\n<p><\/code><\/p>\n<h4>Alias (Takma Ad) Kullan\u0131m\u0131<\/h4>\n<p>S\u0131k kulland\u0131\u011f\u0131n\u0131z Git komutlar\u0131 i\u00e7in takma adlar (alias) olu\u015fturarak zamandan tasarruf edebilirsiniz.<\/p>\n<pre><code>git config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.st status\ngit config --global alias.lg \"log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit\"\n<\/pre>\n<p><\/code><br \/>\nArt\u0131k <code>git checkout<\/code> yerine <code>git co<\/code>, <code>git status<\/code> yerine <code>git st<\/code> yazabilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Git, modern yaz\u0131l\u0131m geli\u015ftirmenin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Bu makalede ele ald\u0131\u011f\u0131m\u0131z temel komutlar ve kavramlar (depo olu\u015fturma, de\u011fi\u015fiklikleri takip etme, dallanma, birle\u015ftirme ve uzak depolarla \u00e7al\u0131\u015fma), Git'i etkili bir \u015fekilde kullanmaya ba\u015flaman\u0131z i\u00e7in sa\u011flam bir temel sunmaktad\u0131r. Unutmay\u0131n ki Git'in g\u00fcc\u00fc, pratik yaparak ve farkl\u0131 senaryolar\u0131 deneyimleyerek tam olarak anla\u015f\u0131l\u0131r. S\u00fcr\u00fcm kontrol\u00fcn\u00fc projelerinize entegre ederek daha d\u00fczenli, i\u015fbirli\u011fine a\u00e7\u0131k ve hatas\u0131z bir geli\u015ftirme s\u00fcreci elde edeceksiniz. Git'in sundu\u011fu olanaklar\u0131 ke\u015ffetmeye devam edin ve geli\u015ftirme yolculu\u011funuzda bu g\u00fc\u00e7l\u00fc arac\u0131 bir m\u00fcttefik olarak kullan\u0131n.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<dl>\n<dt>Git ve GitHub ayn\u0131 \u015fey mi?<\/dt>\n<dd>Hay\u0131r, Git bir s\u00fcr\u00fcm kontrol sistemidir (bir yaz\u0131l\u0131md\u0131r), GitHub ise Git depolar\u0131n\u0131 bar\u0131nd\u0131ran web tabanl\u0131 bir hizmettir. GitHub, Git depolar\u0131n\u0131z\u0131 \u00e7evrimi\u00e7i olarak saklaman\u0131za, projeler \u00fczerinde i\u015fbirli\u011fi yapman\u0131za ve a\u00e7\u0131k kaynak projelerini ke\u015ffetmenize olanak tan\u0131r.<\/dd>\n<dt>Git'te commit mesajlar\u0131 neden \u00f6nemlidir?<\/dt>\n<dd>\u0130yi yaz\u0131lm\u0131\u015f commit mesajlar\u0131, projenin ge\u00e7mi\u015fini okuyan herkesin (siz dahil) yap\u0131lan de\u011fi\u015fikliklerin nedenini, neyi ama\u00e7lad\u0131\u011f\u0131n\u0131 ve neyi \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fc h\u0131zl\u0131ca anlamas\u0131n\u0131 sa\u011flar. Bu, hata ay\u0131klama, \u00f6zellik takibi ve ekip i\u00e7i ileti\u015fim i\u00e7in kritik \u00f6neme sahiptir.<\/dd>\n<dt>Yanl\u0131\u015fl\u0131kla commit etti\u011fim bir \u015feyi nas\u0131l geri al\u0131r\u0131m?<\/dt>\n<dd>E\u011fer commit'i hen\u00fcz uzak depoya g\u00f6ndermediyseniz, <code>git reset HEAD~1<\/code> (son commit'i geri al\u0131r, de\u011fi\u015fiklikleri \u00e7al\u0131\u015fma dizininde b\u0131rak\u0131r) veya <code>git reset --hard HEAD~1<\/code> (son commit'i ve t\u00fcm de\u011fi\u015fiklikleri siler) kullanabilirsiniz. E\u011fer commit'i zaten uzak depoya g\u00f6nderdiyseniz, <code>git revert <commit_hash><\/code> komutuyla bu commit'i geri alan yeni bir commit olu\u015fturman\u0131z daha g\u00fcvenlidir.<\/dd>\n<dt>Branch'ler aras\u0131nda ge\u00e7i\u015f yaparken nelere dikkat etmeliyim?<\/dt>\n<dd>Branch'ler aras\u0131nda ge\u00e7i\u015f yapmadan \u00f6nce \u00e7al\u0131\u015fma dizininizdeki t\u00fcm \u00f6nemli de\u011fi\u015fiklikleri commit etmeniz veya ge\u00e7ici olarak kaydetmeniz (<code>git stash<\/code>) \u00f6nerilir. Aksi takdirde, kaydedilmemi\u015f de\u011fi\u015fiklikler kaybolabilir veya ge\u00e7i\u015f yapmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z branch ile \u00e7ak\u0131\u015fabilir.<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f\nYaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda projelerin y\u00f6netimi, ekip \u00e7al\u0131\u015fmas\u0131 ve kod taban\u0131n\u0131n evr&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1401],"tags":[],"class_list":{"0":"post-37908","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-git","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f\" \/>\n<meta property=\"og:description\" content=\"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f Yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda projelerin y\u00f6netimi, ekip \u00e7al\u0131\u015fmas\u0131 ve kod taban\u0131n\u0131n evr...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-18T09:30:36+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f\",\"datePublished\":\"2026-01-18T09:30:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\"},\"wordCount\":2465,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Git\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\",\"name\":\"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-18T09:30:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/","og_locale":"tr_TR","og_type":"article","og_title":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f","og_description":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f Yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda projelerin y\u00f6netimi, ekip \u00e7al\u0131\u015fmas\u0131 ve kod taban\u0131n\u0131n evr...","og_url":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-18T09:30:36+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f","datePublished":"2026-01-18T09:30:36+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/"},"wordCount":2465,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Git"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/","url":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/","name":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-18T09:30:36+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/git-kullaniminin-temelleri-surum-kontrolune-giris\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Git Kullan\u0131m\u0131n\u0131n Temelleri: S\u00fcr\u00fcm Kontrol\u00fcne Giri\u015f"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37908"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37908\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}