{"id":38469,"date":"2026-01-31T18:30:42","date_gmt":"2026-01-31T15:30:42","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/"},"modified":"2026-01-31T18:30:42","modified_gmt":"2026-01-31T15:30:42","slug":"git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/","title":{"rendered":"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)"},"content":{"rendered":"<h2>Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)<\/h2>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda ekip \u00e7al\u0131\u015fmas\u0131 ve kod y\u00f6netimi vazge\u00e7ilmezdir. Bu s\u00fcre\u00e7te Git ve GitHub gibi ara\u00e7lar, geli\u015ftiricilerin kodlar\u0131n\u0131 verimli bir \u015fekilde y\u00f6netmelerini, i\u015fbirli\u011fi yapmalar\u0131n\u0131 ve projelerinin farkl\u0131 versiyonlar\u0131n\u0131 takip etmelerini sa\u011flar. Bu rehberde, Amazon Linux 2023 ortam\u0131nda Git&#8217;i kurmaktan ba\u015flayarak, GitHub&#8217;\u0131n temel i\u015f ak\u0131\u015f\u0131 olan Fork, Branch, Commit ve Pull Request ad\u0131mlar\u0131n\u0131 uygulamal\u0131 olarak ele alaca\u011f\u0131z. \u0130ster yeni ba\u015flayan bir geli\u015ftirici olun ister mevcut bilginizi tazelemek isteyin, bu kapsaml\u0131 rehber size Git ve GitHub d\u00fcnyas\u0131na sa\u011flam bir giri\u015f yapman\u0131z\u0131 sa\u011flayacak.<\/p>\n<h2>Git ve GitHub Neden \u00d6nemli?<\/h2>\n<p>Yaz\u0131l\u0131m geli\u015ftirme, genellikle birden fazla ki\u015finin ayn\u0131 kod taban\u0131 \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 karma\u015f\u0131k bir s\u00fcre\u00e7tir. Bu ortamda kod \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nlemek, de\u011fi\u015fiklikleri takip etmek ve projenin farkl\u0131 a\u015famalar\u0131n\u0131 y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lara ihtiya\u00e7 duyulur. \u0130\u015fte bu noktada S\u00fcr\u00fcm Kontrol Sistemleri (VCS) ve \u00f6zellikle Git devreye girer.<\/p>\n<h3>S\u00fcr\u00fcm Kontrol Sistemleri (VCS) Nedir?<\/h3>\n<p>S\u00fcr\u00fcm Kontrol Sistemleri, zaman i\u00e7inde dosyalarda ve dizinlerde yap\u0131lan de\u011fi\u015fiklikleri y\u00f6neten bir sistemdir. Bir VCS kullanarak, projenin herhangi bir noktas\u0131ndaki ge\u00e7mi\u015f s\u00fcr\u00fcmlerine geri d\u00f6nebilir, kimin ne zaman ve hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131 g\u00f6rebilir, farkl\u0131 de\u011fi\u015fiklikleri birle\u015ftirebilir ve potansiyel hatalar\u0131 kolayca d\u00fczeltebilirsiniz. Bu sistemler, \u00f6zellikle ekip projelerinde koordinasyonu art\u0131r\u0131r ve hatalar\u0131 minimize eder.<\/p>\n<h3>Git&#8217;in Avantajlar\u0131<\/h3>\n<p>Git, da\u011f\u0131t\u0131k bir s\u00fcr\u00fcm kontrol sistemidir (DVCS). Bu, her geli\u015ftiricinin projenin tam bir kopyas\u0131na sahip oldu\u011fu anlam\u0131na gelir. Merkezi bir sunucuya ba\u011f\u0131ml\u0131l\u0131k olmadan \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fabilir ve de\u011fi\u015fiklikleri yerel olarak yapabilirsiniz. Git&#8217;in ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>H\u0131z:<\/strong> Git, b\u00fcy\u00fck projelerde bile \u00e7ok h\u0131zl\u0131d\u0131r.<\/li>\n<li><strong>Da\u011f\u0131t\u0131k Yap\u0131:<\/strong> Herkesin projenin tam ge\u00e7mi\u015fine sahip olmas\u0131, merkezi sunucu ar\u0131zas\u0131 durumunda bile veri kayb\u0131n\u0131 \u00f6nler.<\/li>\n<li><strong>G\u00fc\u00e7l\u00fc Dallanma ve Birle\u015ftirme:<\/strong> Git&#8217;in dallanma (branching) modeli olduk\u00e7a esnektir ve farkl\u0131 \u00f6zellikler \u00fczerinde paralel \u00e7al\u0131\u015fmay\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Veri B\u00fct\u00fcnl\u00fc\u011f\u00fc:<\/strong> Git, kriptografik karma i\u015flevleri kullanarak dosya ge\u00e7mi\u015finin b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korur.<\/li>\n<\/ul>\n<h3>GitHub&#8217;\u0131n Rol\u00fc<\/h3>\n<p>Git bir s\u00fcr\u00fcm kontrol sistemi iken, GitHub Git depolar\u0131n\u0131 bar\u0131nd\u0131ran web tabanl\u0131 bir platformdur. GitHub, Git&#8217;in sa\u011flad\u0131\u011f\u0131 s\u00fcr\u00fcm kontrol yeteneklerini, sosyal kodlama ve i\u015fbirli\u011fi \u00f6zellikleriyle birle\u015ftirir. GitHub sayesinde \u015funlar\u0131 yapabilirsiniz:<\/p>\n<ul>\n<li>Kod depolar\u0131n\u0131z\u0131 (repository) g\u00fcvenli bir \u015fekilde bar\u0131nd\u0131rabilirsiniz.<\/li>\n<li>Ekip \u00fcyeleriyle kolayca i\u015fbirli\u011fi yapabilir, kod incelemeleri yapabilir ve Pull Request&#8217;ler arac\u0131l\u0131\u011f\u0131yla de\u011fi\u015fiklikleri tart\u0131\u015fabilirsiniz.<\/li>\n<li>A\u00e7\u0131k kaynak projelere katk\u0131da bulunabilir veya kendi projelerinizi d\u00fcnyaya a\u00e7abilirsiniz.<\/li>\n<li>Proje y\u00f6netimi i\u00e7in sorun takip (issue tracking) ve proje panolar\u0131 gibi ara\u00e7lar\u0131 kullanabilirsiniz.<\/li>\n<\/ul>\n<h2>Ortam Kurulumu: Amazon Linux 2023<\/h2>\n<p>Git ve GitHub ile \u00e7al\u0131\u015fmaya ba\u015flamadan \u00f6nce, geli\u015ftirme ortam\u0131m\u0131z\u0131 haz\u0131rlamam\u0131z gerekiyor. Bu rehberde Amazon Linux 2023 kullanaca\u011f\u0131z. Amazon Linux 2023, AWS ortam\u0131nda bulut tabanl\u0131 uygulamalar i\u00e7in optimize edilmi\u015f, g\u00fcvenli ve performansl\u0131 bir i\u015fletim sistemidir.<\/p>\n<h3>Amazon Linux 2023 Nedir?<\/h3>\n<p>Amazon Linux 2023, Amazon Web Services (AWS) taraf\u0131ndan sa\u011flanan genel ama\u00e7l\u0131 bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. CentOS Stream, Fedora ve RHEL ile uyumlu paketler sunar. G\u00fcvenlik odakl\u0131d\u0131r, uzun s\u00fcreli destek sa\u011flar ve AWS hizmetleriyle sorunsuz entegrasyon sunar. Genellikle EC2 \u00f6rnekleri \u00fczerinde kullan\u0131l\u0131r.<\/p>\n<h3>Git Kurulumu<\/h3>\n<p>Amazon Linux 2023&#8217;te Git kurulumu olduk\u00e7a basittir. Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo dnf update -y\nsudo dnf install git -y<\/pre>\n<p><\/code><\/p>\n<p>Kurulum tamamland\u0131ktan sonra, Git'in do\u011fru \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 ve hangi s\u00fcr\u00fcm\u00fcn y\u00fckl\u00fc oldu\u011funu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git --version<\/pre>\n<p><\/code><\/p>\n<p>\u015eimdi Git'i yap\u0131land\u0131rmam\u0131z gerekiyor. Bu, yapt\u0131\u011f\u0131n\u0131z commit'lerin kim taraf\u0131ndan yap\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6steren bilgileri ayarlamak i\u00e7indir. Bu bilgiler her commit ile birlikte kaydedilir:<\/p>\n<pre><code class=\"language-bash\">git config --global user.name \"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"\ngit config --global user.email \"eposta@adresiniz.com\"<\/pre>\n<p><\/code><\/p>\n<p>Bu bilgileri do\u011fru girdi\u011finizden emin olun, \u00e7\u00fcnk\u00fc GitHub'da bu bilgilerle e\u015fle\u015fen kullan\u0131c\u0131 ad\u0131n\u0131z ve e-posta adresiniz olmas\u0131, katk\u0131lar\u0131n\u0131z\u0131n do\u011fru \u015fekilde ili\u015fkilendirilmesini sa\u011flar.<\/p>\n<h3>SSH Anahtar\u0131 Olu\u015fturma (\u00d6nerilir)<\/h3>\n<p>GitHub ile g\u00fcvenli ve parola girmeden etkile\u015fim kurmak i\u00e7in SSH anahtarlar\u0131 kullanmak iyi bir pratiktir. Bu ad\u0131m iste\u011fe ba\u011fl\u0131d\u0131r ancak \u015fiddetle tavsiye edilir.<\/p>\n<ol>\n<li><strong>SSH anahtar\u0131 olu\u015fturma:<\/strong> Terminalde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n. E-posta adresinizi kendi e-posta adresinizle de\u011fi\u015ftirin.<\/li>\n<pre><code class=\"language-bash\">ssh-keygen -t ed25519 -C \"eposta@adresiniz.com\"<\/pre>\n<p><\/code><\/p>\n<p>Bu komut size bir parola girmenizi isteyecektir. G\u00fcvenlik i\u00e7in bir parola belirleyebilirsiniz, ancak bo\u015f b\u0131rak\u0131rsan\u0131z her kullan\u0131mda parola sormaz. Anahtar, genellikle <code>~\/.ssh\/id_ed25519<\/code> ve <code>~\/.ssh\/id_ed25519.pub<\/code> yollar\u0131na kaydedilir.<\/p>\n<li><strong>SSH agent'\u0131 ba\u015flatma:<\/strong><\/li>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"<\/pre>\n<p><\/code><\/p>\n<li><strong>SSH anahtar\u0131n\u0131z\u0131 agent'a ekleme:<\/strong><\/li>\n<pre><code class=\"language-bash\">ssh-add ~\/.ssh\/id_ed25519<\/pre>\n<p><\/code><\/p>\n<li><strong>Genel anahtar\u0131n\u0131z\u0131 (public key) kopyalama:<\/strong> Genel anahtar\u0131n\u0131z\u0131 GitHub hesab\u0131n\u0131za eklemeniz gerekecek.<\/li>\n<pre><code class=\"language-bash\">cat ~\/.ssh\/id_ed25519.pub<\/pre>\n<p><\/code><\/p>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131n\u0131 kopyalay\u0131n.<\/p>\n<li><strong>GitHub'a anahtar\u0131 ekleme:<\/strong> GitHub hesab\u0131n\u0131za giri\u015f yap\u0131n. Sa\u011f \u00fcst k\u00f6\u015fedeki profil resminize t\u0131klay\u0131n, <strong>Settings<\/strong> -> <strong>SSH and GPG keys<\/strong> b\u00f6l\u00fcm\u00fcne gidin. <strong>New SSH key<\/strong> butonuna t\u0131klay\u0131n, bir ba\u015fl\u0131k (\u00f6rne\u011fin \"Amazon Linux 2023\") girin ve kopyalad\u0131\u011f\u0131n\u0131z anahtar\u0131 \"Key\" alan\u0131na yap\u0131\u015ft\u0131r\u0131n. Ard\u0131ndan <strong>Add SSH key<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<\/ol>\n<h2>GitHub \u00dczerinde Proje Ak\u0131\u015f\u0131: Fork ve Clone<\/h2>\n<p>Art\u0131k Git'i kurup yap\u0131land\u0131rd\u0131\u011f\u0131m\u0131za g\u00f6re, GitHub \u00fczerindeki bir projeyi yerel ortam\u0131m\u0131za nas\u0131l alaca\u011f\u0131m\u0131z\u0131 ve \u00fczerinde nas\u0131l \u00e7al\u0131\u015fmaya ba\u015flayaca\u011f\u0131m\u0131z\u0131 g\u00f6relim.<\/p>\n<h3>Fork \u0130\u015flemi Nedir ve Neden Yap\u0131l\u0131r?<\/h3>\n<p>Bir projeyi \"fork etmek\", o projenin kendi GitHub hesab\u0131n\u0131zda tamamen ba\u011f\u0131ms\u0131z bir kopyas\u0131n\u0131 olu\u015fturmakt\u0131r. Genellikle a\u00e7\u0131k kaynak projelere katk\u0131da bulunmak istedi\u011finizde veya bir projenin \u00fczerinde kendi de\u011fi\u015fikliklerinizi yapmak istedi\u011finizde fork i\u015flemi yap\u0131l\u0131r. Fork etti\u011finiz depo (repository), orijinal depodan ba\u011f\u0131ms\u0131zd\u0131r, ancak orijinal depoyla senkronize edilebilir.<\/p>\n<p>Neden fork yap\u0131l\u0131r?<\/p>\n<ul>\n<li>Orijinal projeye do\u011frudan yazma izniniz olmad\u0131\u011f\u0131nda de\u011fi\u015fiklik yapmak i\u00e7in.<\/li>\n<li>Kendi projenizin temelini olu\u015fturmak i\u00e7in.<\/li>\n<li>Orijinal projeye bir \u00f6zellik eklemek veya bir hata d\u00fczeltmesi \u00f6nermek i\u00e7in (Pull Request g\u00f6ndermek amac\u0131yla).<\/li>\n<\/ul>\n<h3>Bir Depoyu Fork Etme<\/h3>\n<p>GitHub \u00fczerinde bir depoyu fork etmek olduk\u00e7a basittir:<\/p>\n<ol>\n<li>GitHub'da fork etmek istedi\u011finiz depoya gidin. \u00d6rne\u011fin, <code>github.com\/octocat\/Spoon-Knife<\/code> deposunu kullanabiliriz.<\/li>\n<li>Sa\u011f \u00fcst k\u00f6\u015fede bulunan <strong>Fork<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<li>GitHub size depoyu nereye fork etmek istedi\u011finizi soracakt\u0131r (genellikle kendi hesab\u0131n\u0131z). Onaylay\u0131n.<\/li>\n<li>K\u0131sa bir s\u00fcre sonra, deponun kendi hesab\u0131n\u0131zda bir kopyas\u0131 olu\u015facakt\u0131r (\u00f6rne\u011fin, <code>github.com\/SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife<\/code>).<\/li>\n<\/ol>\n<h3>Depoyu Yerel Ortama Klonlama<\/h3>\n<p>Fork etti\u011finiz depoyu art\u0131k yerel Amazon Linux 2023 makinenize klonlayabilirsiniz. Klonlama, uzak depodaki t\u00fcm dosya ve ge\u00e7mi\u015fi yerel diskinize indirme i\u015flemidir.<\/p>\n<ol>\n<li>Kendi fork etti\u011finiz deponun GitHub sayfas\u0131na gidin (\u00f6rne\u011fin, <code>github.com\/SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife<\/code>).<\/li>\n<li><strong><> Code<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<li>SSH sekmesini se\u00e7in (e\u011fer SSH anahtar\u0131 kurduysan\u0131z). Kopyala butonuna t\u0131klayarak SSH URL'sini kopyalay\u0131n (\u00f6rne\u011fin, <code>git@github.com:SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife.git<\/code>).<\/li>\n<li>Terminalinizde, projeyi kaydetmek istedi\u011finiz dizine gidin ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/li>\n<pre><code class=\"language-bash\">git clone git@github.com:SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife.git<\/pre>\n<p><\/code><\/p>\n<li>Klonlama tamamland\u0131\u011f\u0131nda, yeni bir dizin (<code>Spoon-Knife<\/code>) olu\u015fturulacak ve t\u00fcm proje dosyalar\u0131 bu dizine indirilecektir. Bu dizine girin:<\/li>\n<pre><code class=\"language-bash\">cd Spoon-Knife<\/pre>\n<p><\/code>\n<\/ol>\n<p>Art\u0131k projenin yerel bir kopyas\u0131na sahipsiniz ve \u00fczerinde \u00e7al\u0131\u015fmaya ba\u015flayabilirsiniz.<\/p>\n<h2>Geli\u015ftirme S\u00fcreci: Branch ve Commit<\/h2>\n<p>Bir projeye katk\u0131da bulunurken veya kendi projenizi geli\u015ftirirken, do\u011frudan ana (<code>main<\/code>) dal \u00fczerinde \u00e7al\u0131\u015fmak genellikle k\u00f6t\u00fc bir pratiktir. Bunun yerine, yeni \u00f6zellikler veya hata d\u00fczeltmeleri i\u00e7in ayr\u0131 dallar (branch) olu\u015fturmak ve bu dallar \u00fczerinde \u00e7al\u0131\u015fmak en iyi yakla\u015f\u0131md\u0131r.<\/p>\n<h3>Branch (Dal) Kavram\u0131<\/h3>\n<p>Bir \"branch\", projenin ana geli\u015ftirme hatt\u0131ndan ayr\u0131lan ba\u011f\u0131ms\u0131z bir geli\u015ftirme yoludur. Her dal, projenin o anki durumunun bir kopyas\u0131d\u0131r. Bu, farkl\u0131 \u00f6zellikler \u00fczerinde ayn\u0131 anda, birbirlerini etkilemeden \u00e7al\u0131\u015fman\u0131za olanak tan\u0131r. Bir dal \u00fczerindeki de\u011fi\u015fiklikler, siz a\u00e7\u0131k\u00e7a birle\u015ftirene kadar di\u011fer dallar\u0131 etkilemez.<\/p>\n<p>\u00d6rne\u011fin, bir web uygulamas\u0131 \u00fczerinde \u00e7al\u0131\u015f\u0131yorsunuz ve hem yeni bir \u00f6deme \u00f6zelli\u011fi eklemek hem de mevcut bir hatay\u0131 d\u00fczeltmek istiyorsunuz. Bu durumda, \u00f6deme \u00f6zelli\u011fi i\u00e7in bir dal ve hata d\u00fczeltmesi i\u00e7in ba\u015fka bir dal olu\u015fturabilirsiniz. Her iki i\u015fi de paralel olarak yapabilir, test edebilir ve bitti\u011finde ana dala birle\u015ftirebilirsiniz.<\/p>\n<h3>Yeni Bir Dal Olu\u015fturma ve Ge\u00e7i\u015f Yapma<\/h3>\n<p>\u00d6ncelikle, hangi dalda oldu\u011funuzu kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">git branch<\/pre>\n<p><\/code><\/p>\n<p>Genellikle <code>* main<\/code> veya <code>* master<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6r\u00fcrs\u00fcn\u00fcz, bu da ana dalda oldu\u011funuzu g\u00f6sterir.<\/p>\n<p>Yeni bir dal olu\u015fturmak ve do\u011frudan o dala ge\u00e7mek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">git checkout -b ozellik\/yeni-ozellik<\/pre>\n<p><\/code><\/p>\n<p>Burada <code>ozellik\/yeni-ozellik<\/code>, yeni dal\u0131m\u0131z\u0131n ad\u0131d\u0131r. Dal adlar\u0131n\u0131 a\u00e7\u0131klay\u0131c\u0131 ve hiyerar\u015fik tutmak iyi bir pratiktir (\u00f6rne\u011fin, <code>feature\/login-page<\/code>, <code>bugfix\/footer-alignment<\/code>).<\/p>\n<p>Tekrar dallar\u0131 kontrol etti\u011finizde, art\u0131k yeni dalda oldu\u011funuzu g\u00f6receksiniz:<\/p>\n<pre><code class=\"language-bash\">git branch\n#  main\n#* ozellik\/yeni-ozellik<\/pre>\n<p><\/code><\/p>\n<h3>De\u011fi\u015fiklik Yapma ve Staging Alan\u0131<\/h3>\n<p>\u015eimdi yeni dal\u0131m\u0131zda baz\u0131 de\u011fi\u015fiklikler yapal\u0131m. Klonlad\u0131\u011f\u0131n\u0131z <code>Spoon-Knife<\/code> dizininde, yeni bir dosya olu\u015ftural\u0131m veya mevcut bir dosyay\u0131 d\u00fczenleyelim. \u00d6rne\u011fin, <code>README.md<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilir veya <code>yeni-dosya.txt<\/code> ad\u0131nda bir dosya olu\u015fturabiliriz.<\/p>\n<pre><code class=\"language-bash\">echo \"Bu benim yeni \u00f6zelli\u011fim i\u00e7in ekledi\u011fim bir sat\u0131r.\" >> README.md\nnano yeni-dosya.txt # \u0130\u00e7ine bir \u015feyler yaz\u0131p kaydedin<\/pre>\n<p><\/code><\/p>\n<p>De\u011fi\u015fiklikleri yapt\u0131ktan sonra, Git'in bu de\u011fi\u015fiklikleri fark etti\u011fini g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git status<\/pre>\n<p><\/code><\/p>\n<p>\u00c7\u0131kt\u0131da, de\u011fi\u015ftirilen veya yeni olu\u015fturulan dosyalar\u0131n \"Untracked files\" veya \"Changes not staged for commit\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda listelendi\u011fini g\u00f6receksiniz. Bu dosyalar\u0131 bir sonraki commit'e dahil etmek i\u00e7in \"staging area\"ya (haz\u0131rl\u0131k alan\u0131) eklememiz gerekir:<\/p>\n<pre><code class=\"language-bash\">git add README.md yeni-dosya.txt<\/pre>\n<p><\/code><\/p>\n<p>T\u00fcm de\u011fi\u015ftirilen dosyalar\u0131 eklemek i\u00e7in ise:<\/p>\n<pre><code class=\"language-bash\">git add .<\/pre>\n<p><\/code><\/p>\n<p>\u015eimdi <code>git status<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, dosyalar\u0131n \"Changes to be committed\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda oldu\u011funu g\u00f6receksiniz.<\/p>\n<h3>De\u011fi\u015fiklikleri Kaydetme (Commit)<\/h3>\n<p>Staging alan\u0131na ekledi\u011finiz de\u011fi\u015fiklikleri kal\u0131c\u0131 olarak projenin ge\u00e7mi\u015fine kaydetmek i\u00e7in \"commit\" i\u015flemi yapar\u0131z. Her commit, yap\u0131lan de\u011fi\u015fiklikleri ve bu de\u011fi\u015fikliklerin ne anlama geldi\u011fini a\u00e7\u0131klayan bir mesaj i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">git commit -m \"Yeni bir \u00f6zellik eklendi ve README g\u00fcncellendi\"<\/pre>\n<p><\/code><\/p>\n<p>Commit mesajlar\u0131 a\u00e7\u0131klay\u0131c\u0131 ve k\u0131sa olmal\u0131d\u0131r. Genellikle ilk sat\u0131rda k\u0131sa bir \u00f6zet, ard\u0131ndan bo\u015f bir sat\u0131r ve daha detayl\u0131 bir a\u00e7\u0131klama kullan\u0131l\u0131r (ancak tek sat\u0131rl\u0131k mesajlar da yayg\u0131nd\u0131r).<\/p>\n<p>Commit'i yapt\u0131ktan sonra, de\u011fi\u015fiklikleriniz art\u0131k yerel deponuzun ge\u00e7mi\u015fine kaydedilmi\u015ftir.<\/p>\n<h2>De\u011fi\u015fiklikleri Uzak Depoya G\u00f6nderme ve Senkronizasyon<\/h2>\n<p>Yerel deponuzdaki de\u011fi\u015fiklikleri GitHub'daki fork'unuza g\u00f6ndermenin ve orijinal depoyla senkronize kalman\u0131n zaman\u0131 geldi.<\/p>\n<h3>De\u011fi\u015fiklikleri Push Etme<\/h3>\n<p>Yerel commit'lerinizi GitHub'daki fork'unuza g\u00f6ndermek i\u00e7in <code>git push<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">git push origin ozellik\/yeni-ozellik<\/pre>\n<p><\/code><\/p>\n<p>Burada:<\/p>\n<ul>\n<li><code>origin<\/code>, GitHub'daki fork'unuzun varsay\u0131lan uzak ad\u0131d\u0131r.<\/li>\n<li><code>ozellik\/yeni-ozellik<\/code>, yerel olarak \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z dal\u0131n ad\u0131d\u0131r.<\/li>\n<\/ul>\n<p>E\u011fer bu dal\u0131 ilk kez push ediyorsan\u0131z, Git size a\u015fa\u011f\u0131daki gibi bir komut \u00f6nerebilir:<\/p>\n<pre><code class=\"language-bash\">git push --set-upstream origin ozellik\/yeni-ozellik<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, yerel dal\u0131n\u0131z ile uzak depodaki dal aras\u0131nda bir ba\u011flant\u0131 kurar, b\u00f6ylece sonraki <code>git push<\/code> ve <code>git pull<\/code> komutlar\u0131nda dal ad\u0131n\u0131 belirtmenize gerek kalmaz.<\/p>\n<p>De\u011fi\u015fiklikleri push ettikten sonra, GitHub'daki fork'unuzun sayfas\u0131na gitti\u011finizde, yeni dal\u0131n\u0131z\u0131n ve yapt\u0131\u011f\u0131n\u0131z commit'in orada g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc fark edeceksiniz.<\/p>\n<h3>Ana Depo ile Senkronizasyon (Upstream)<\/h3>\n<p>Orijinal depoda (fork etti\u011finiz depo) yeni de\u011fi\u015fiklikler yap\u0131lm\u0131\u015f olabilir. Kendi fork'unuzu ve yerel deponuzu bu de\u011fi\u015fikliklerle g\u00fcncel tutmak \u00f6nemlidir. Bunun i\u00e7in \"upstream\" ad\u0131 verilen bir uzak depo eklememiz gerekir.<\/p>\n<ol>\n<li><strong>Orijinal depoyu uzak olarak ekleme:<\/strong> Klonlad\u0131\u011f\u0131n\u0131z dizinde oldu\u011funuzdan emin olun.<\/li>\n<pre><code class=\"language-bash\">git remote add upstream https:\/\/github.com\/octocat\/Spoon-Knife.git<\/pre>\n<p><\/code><\/p>\n<p>Buradaki URL'yi fork etti\u011finiz orijinal deponun URL'si ile de\u011fi\u015ftirin. E\u011fer SSH kullan\u0131yorsan\u0131z: <code>git@github.com:octocat\/Spoon-Knife.git<\/code><\/p>\n<li><strong>Uzak depolar\u0131 kontrol etme:<\/strong><\/li>\n<pre><code class=\"language-bash\">git remote -v\n# origin  git@github.com:SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife.git (fetch)\n# origin  git@github.com:SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife.git (push)\n# upstream    https:\/\/github.com\/octocat\/Spoon-Knife.git (fetch)\n# upstream    https:\/\/github.com\/octocat\/Spoon-Knife.git (push)<\/pre>\n<p><\/code><\/p>\n<li><strong>Upstream'den de\u011fi\u015fiklikleri \u00e7ekme:<\/strong> Ana dala ge\u00e7in ve upstream'den de\u011fi\u015fiklikleri getirin.<\/li>\n<pre><code class=\"language-bash\">git checkout main\ngit fetch upstream<\/pre>\n<p><\/code><\/p>\n<li><strong>De\u011fi\u015fiklikleri birle\u015ftirme:<\/strong> Getirdi\u011finiz de\u011fi\u015fiklikleri yerel <code>main<\/code> dal\u0131n\u0131za birle\u015ftirin.<\/li>\n<pre><code class=\"language-bash\">git merge upstream\/main<\/pre>\n<p><\/code><\/p>\n<p>Bu ad\u0131mlar, yerel <code>main<\/code> dal\u0131n\u0131z\u0131 orijinal deponun <code>main<\/code> dal\u0131yla senkronize eder. Daha sonra kendi fork'unuzun <code>main<\/code> dal\u0131n\u0131 da g\u00fcncelleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git push origin main<\/pre>\n<p><\/code>\n<\/ol>\n<h2>\u0130\u015fbirli\u011fi ve Kod \u0130ncelemesi: Pull Request<\/h2>\n<p>De\u011fi\u015fikliklerinizi kendi fork'unuza push ettikten sonra, bu de\u011fi\u015fiklikleri orijinal projeye dahil etmek i\u00e7in bir Pull Request (PR) olu\u015fturursunuz. Pull Request, projenin bak\u0131mc\u0131lar\u0131na \"Ben bu de\u011fi\u015fiklikleri yapt\u0131m, l\u00fctfen bunlar\u0131 ana depoya birle\u015ftirir misiniz?\" demenin resmi yoludur.<\/p>\n<h3>Pull Request (PR) Nedir?<\/h3>\n<p>Pull Request, bir projenin geli\u015ftiricilerine kendi dal\u0131n\u0131zdaki de\u011fi\u015fiklikleri ana dala (genellikle <code>main<\/code> veya <code>master<\/code>) birle\u015ftirmeyi \u00f6nermenizi sa\u011flayan bir mekanizmad\u0131r. Bir PR a\u00e7t\u0131\u011f\u0131n\u0131zda, GitHub di\u011fer geli\u015ftiricilerin kodunuzu incelemesi, yorum yapmas\u0131, test etmesi ve onaylamas\u0131 i\u00e7in bir aray\u00fcz sa\u011flar. Bu, kod kalitesini art\u0131rmak ve hatalar\u0131 erken yakalamak i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<h3>Pull Request Olu\u015fturma<\/h3>\n<p>Kendi fork'unuzdaki dal\u0131 GitHub'a push ettikten sonra, bir Pull Request olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li>GitHub'daki kendi fork'unuzun sayfas\u0131na gidin (\u00f6rne\u011fin, <code>github.com\/SizinKullan\u0131c\u0131Ad\u0131n\u0131z\/Spoon-Knife<\/code>).<\/li>\n<li>Genellikle, yeni push etti\u011finiz dal\u0131 g\u00f6steren sar\u0131 bir banner veya \"Compare & pull request\" butonu g\u00f6r\u00fcrs\u00fcn\u00fcz. Bu butona t\u0131klay\u0131n. E\u011fer g\u00f6rm\u00fcyorsan\u0131z, <strong>Pull requests<\/strong> sekmesine gidip <strong>New pull request<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<li>A\u00e7\u0131lan sayfada, <strong>base repository<\/strong> (temel depo) olarak orijinal depoyu (\u00f6rne\u011fin, <code>octocat\/Spoon-Knife<\/code>) ve <strong>head repository<\/strong> (kaynak depo) olarak kendi fork'unuzu se\u00e7in.<\/li>\n<li><strong>compare<\/strong> k\u0131sm\u0131nda ise, de\u011fi\u015fikliklerinizi i\u00e7eren dal\u0131 (\u00f6rne\u011fin, <code>ozellik\/yeni-ozellik<\/code>) se\u00e7in.<\/li>\n<li>GitHub, iki dal aras\u0131ndaki de\u011fi\u015fiklikleri size g\u00f6sterecektir. Her \u015fey yolundaysa, <strong>Create pull request<\/strong> butonuna t\u0131klay\u0131n.<\/li>\n<li>Bir ba\u015fl\u0131k ve a\u00e7\u0131klama ekleyin. Ba\u015fl\u0131k, de\u011fi\u015fikliklerin k\u0131sa bir \u00f6zetini i\u00e7ermelidir. A\u00e7\u0131klama ise neden bu de\u011fi\u015fiklikleri yapt\u0131\u011f\u0131n\u0131z\u0131, neyi \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fc veya hangi \u00f6zelli\u011fi ekledi\u011fini detayland\u0131rmal\u0131d\u0131r.<\/li>\n<li><strong>Create pull request<\/strong> butonuna tekrar t\u0131klayarak PR'\u0131 olu\u015fturun.<\/li>\n<\/ol>\n<p>PR'\u0131n\u0131z art\u0131k a\u00e7\u0131k ve projenin bak\u0131mc\u0131lar\u0131 taraf\u0131ndan incelenmeyi bekliyor.<\/p>\n<h3>Kod \u0130ncelemesi ve Birle\u015ftirme (Merge)<\/h3>\n<p>Pull Request'i olu\u015fturduktan sonra, projenin bak\u0131mc\u0131lar\u0131 ve di\u011fer katk\u0131da bulunanlar kodunuzu inceleyebilirler. Bu s\u00fcre\u00e7te \u015funlar olabilir:<\/p>\n<ul>\n<li><strong>Yorumlar:<\/strong> Kodunuzda iyile\u015ftirilebilecek yerler veya sorular hakk\u0131nda yorumlar alabilirsiniz.<\/li>\n<li><strong>De\u011fi\u015fiklik \u0130stemleri:<\/strong> Bak\u0131mc\u0131lar, PR'\u0131n\u0131z\u0131n birle\u015ftirilebilmesi i\u00e7in belirli de\u011fi\u015fiklikler yapman\u0131z\u0131 isteyebilirler. Bu durumda, yerel dal\u0131n\u0131zda istenen de\u011fi\u015fiklikleri yap\u0131n, commit edin ve tekrar push edin. PR otomatik olarak g\u00fcncellenecektir.<\/li>\n<li><strong>Testler:<\/strong> Otomatik testler \u00e7al\u0131\u015ft\u0131r\u0131labilir ve sonu\u00e7lar\u0131 PR sayfas\u0131nda g\u00f6r\u00fcnt\u00fclenebilir.<\/li>\n<li><strong>Onay:<\/strong> Yeterli inceleme ve testlerden sonra, bir veya daha fazla bak\u0131mc\u0131 PR'\u0131n\u0131z\u0131 onaylayacakt\u0131r.<\/li>\n<\/ul>\n<p>PR onayland\u0131ktan sonra, projenin bak\u0131mc\u0131s\u0131 <strong>Merge pull request<\/strong> butonuna t\u0131klayarak de\u011fi\u015fikliklerinizi orijinal deponun ana dal\u0131na birle\u015ftirebilir. Birle\u015ftirme tamamland\u0131\u011f\u0131nda, dal\u0131n\u0131z\u0131 (<code>ozellik\/yeni-ozellik<\/code>) GitHub \u00fczerinden silebilirsiniz, \u00e7\u00fcnk\u00fc de\u011fi\u015fiklikler art\u0131k ana dal\u0131n bir par\u00e7as\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Amazon Linux 2023 \u00fczerinde Git'i kurmaktan ba\u015flayarak, GitHub'\u0131n temel i\u015f ak\u0131\u015f\u0131 olan Fork, Branch, Commit ve Pull Request ad\u0131mlar\u0131n\u0131 ad\u0131m ad\u0131m ele ald\u0131k. Art\u0131k bir projeyi nas\u0131l fork edece\u011finizi, yerel ortam\u0131n\u0131za nas\u0131l klonlayaca\u011f\u0131n\u0131z\u0131, yeni bir dalda nas\u0131l de\u011fi\u015fiklik yapaca\u011f\u0131n\u0131z\u0131, bu de\u011fi\u015fiklikleri nas\u0131l commit edip kendi fork'unuza push edece\u011finizi ve son olarak bu de\u011fi\u015fiklikleri ana projeye bir Pull Request olarak nas\u0131l sunaca\u011f\u0131n\u0131z\u0131 biliyorsunuz. Bu temel bilgilerle, hem kendi projelerinizde daha verimli \u00e7al\u0131\u015fabilir hem de a\u00e7\u0131k kaynak toplulu\u011funa katk\u0131da bulunabilirsiniz. Git ve GitHub, modern yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131d\u0131r ve bu ara\u00e7lara hakim olmak kariyerinizde size \u00f6nemli avantajlar sa\u011flayacakt\u0131r. Pratik yapmaya devam edin ve ke\u015ffetmekten \u00e7ekinmeyin!<\/p>\n<h2>SSS (S\u0131k Sorulan Sorular)<\/h2>\n<h3>Git ve GitHub aras\u0131ndaki fark nedir?<\/h3>\n<p>Git, yerel bilgisayar\u0131n\u0131zda \u00e7al\u0131\u015fan bir s\u00fcr\u00fcm kontrol sistemidir. Dosyalar\u0131n\u0131zdaki de\u011fi\u015fiklikleri takip etmenizi, farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda ge\u00e7i\u015f yapman\u0131z\u0131 ve de\u011fi\u015fiklikleri birle\u015ftirmenizi sa\u011flar. GitHub ise, Git depolar\u0131n\u0131 bar\u0131nd\u0131ran web tabanl\u0131 bir hizmettir. Git ile yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri uzak bir sunucuda depolaman\u0131za, ekip \u00fcyeleriyle i\u015fbirli\u011fi yapman\u0131za ve a\u00e7\u0131k kaynak projelerde yer alman\u0131za olanak tan\u0131r.<\/p>\n<h3>Neden branch kullanmal\u0131y\u0131m?<\/h3>\n<p>Branch'ler, ana kod taban\u0131ndan izole bir \u015fekilde yeni \u00f6zellikler geli\u015ftirmek veya hatalar\u0131 d\u00fczeltmek i\u00e7in kullan\u0131l\u0131r. Bu, ana projenin kararl\u0131l\u0131\u011f\u0131n\u0131 korurken birden fazla geli\u015ftiricinin ayn\u0131 anda farkl\u0131 g\u00f6revler \u00fczerinde \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. De\u011fi\u015fiklikler tamamland\u0131\u011f\u0131nda ve test edildi\u011finde, g\u00fcvenli bir \u015fekilde ana dala birle\u015ftirilebilir.<\/p>\n<h3><code>git pull<\/code> ile <code>git fetch<\/code> aras\u0131ndaki fark nedir?<\/h3>\n<p><code>git fetch<\/code>, uzak depodaki t\u00fcm de\u011fi\u015fiklikleri yerel deponuza indirir ancak yerel \u00e7al\u0131\u015fma dizininizi veya dallar\u0131n\u0131z\u0131 g\u00fcncellemez. Sadece neyin de\u011fi\u015fti\u011fini g\u00f6rmenizi sa\u011flar. <code>git pull<\/code> ise, hem <code>git fetch<\/code> i\u015flemini yapar hem de indirilen de\u011fi\u015fiklikleri mevcut yerel dal\u0131n\u0131zla otomatik olarak birle\u015ftirir (merge). Genellikle <code>git pull<\/code>, <code>git fetch<\/code> ve ard\u0131ndan <code>git merge<\/code> komutlar\u0131n\u0131n birle\u015fimidir.<\/p>\n<h3>Bir Pull Request reddedilirse ne yapmal\u0131y\u0131m?<\/h3>\n<p>Pull Request'inizin reddedilmesi durumunda, genellikle bak\u0131mc\u0131lardan neden reddedildi\u011fine dair geri bildirim al\u0131rs\u0131n\u0131z. Bu geri bildirimleri dikkatlice inceleyin, gerekli de\u011fi\u015fiklikleri yerel dal\u0131n\u0131zda yap\u0131n, commit edin ve tekrar push edin. PR'\u0131n\u0131z otomatik olarak g\u00fcncellenecektir. Ard\u0131ndan, bak\u0131mc\u0131larla ileti\u015fime ge\u00e7erek de\u011fi\u015fikliklerinizi tekrar g\u00f6zden ge\u00e7irmelerini isteyebilirsiniz. \u0130leti\u015fim ve i\u015fbirli\u011fi bu s\u00fcre\u00e7te anahtard\u0131r.<\/p>\n<h3><code>main<\/code> dal\u0131na do\u011frudan commit yapmak neden k\u00f6t\u00fc bir pratik?<\/h3>\n<p><code>main<\/code> dal\u0131na do\u011frudan commit yapmak, projenin kararl\u0131l\u0131\u011f\u0131n\u0131 riske atar. Do\u011frudan yap\u0131lan de\u011fi\u015fiklikler test edilmeden veya incelenmeden canl\u0131 koda ge\u00e7ebilir, bu da hatalara ve bozuk bir uygulamaya yol a\u00e7abilir. Ayr\u0131ca, ekip ortamlar\u0131nda kod \u00e7ak\u0131\u015fmalar\u0131na neden olabilir ve yap\u0131lan de\u011fi\u015fikliklerin izlenmesini zorla\u015ft\u0131r\u0131r. Branch'ler, bu t\u00fcr sorunlar\u0131 \u00f6nlemek i\u00e7in g\u00fcvenli bir geli\u015ftirme ortam\u0131 sunar.<\/p>\n","protected":false},"excerpt":{"rendered":"Modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda ekip \u00e7al\u0131\u015fmas\u0131 ve kod y\u00f6netimi vazge\u00e7ilmezdir. Bu s\u00fcre\u00e7te Git ve GitHub gibi ara\u00e7lar, geli\u015ftiricilerin ko&#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":[241],"tags":[],"class_list":{"0":"post-38469","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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 ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough) - 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-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)\" \/>\n<meta property=\"og:description\" content=\"Modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda ekip \u00e7al\u0131\u015fmas\u0131 ve kod y\u00f6netimi vazge\u00e7ilmezdir. Bu s\u00fcre\u00e7te Git ve GitHub gibi ara\u00e7lar, geli\u015ftiricilerin ko...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-31T15:30:42+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)\",\"datePublished\":\"2026-01-31T15:30:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\"},\"wordCount\":3165,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\",\"name\":\"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-31T15:30:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)\"}]},{\"@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 ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough) - 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-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/","og_locale":"tr_TR","og_type":"article","og_title":"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)","og_description":"Modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda ekip \u00e7al\u0131\u015fmas\u0131 ve kod y\u00f6netimi vazge\u00e7ilmezdir. Bu s\u00fcre\u00e7te Git ve GitHub gibi ara\u00e7lar, geli\u015ftiricilerin ko...","og_url":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-31T15:30:42+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)","datePublished":"2026-01-31T15:30:42+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/"},"wordCount":3165,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/","url":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/","name":"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-31T15:30:42+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/git-ve-github-baslangic-rehberi-amazon-linux-2023-uzerinde-fork-branch-commit-ve-pull-request-adim-adim-walkthrough\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Git ve GitHub Ba\u015flang\u0131\u00e7 Rehberi: Amazon Linux 2023 \u00dczerinde Fork, Branch, Commit ve Pull Request Ad\u0131m Ad\u0131m (Walkthrough)"}]},{"@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\/38469","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=38469"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38469\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}