{"id":32811,"date":"2025-10-26T06:40:55","date_gmt":"2025-10-26T03:40:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32811"},"modified":"2025-10-26T06:40:55","modified_gmt":"2025-10-26T03:40:55","slug":"centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin vazge\u00e7ilmez ara\u00e7lar\u0131ndan biri olan Git, projelerin s\u00fcr\u00fcm kontrol\u00fcn\u00fc sa\u011flamak, ekip \u00fcyeleri aras\u0131nda i\u015fbirli\u011fini kolayla\u015ft\u0131rmak ve kod taban\u0131ndaki de\u011fi\u015fiklikleri takip etmek i\u00e7in kullan\u0131lan da\u011f\u0131t\u0131k bir s\u00fcr\u00fcm kontrol sistemidir. Geli\u015ftiricilerin kodlar\u0131nda yapt\u0131klar\u0131 her de\u011fi\u015fikli\u011fi kaydetmelerine, belirli bir noktaya geri d\u00f6nmelerine ve farkl\u0131 \u00f6zellikleri ayn\u0131 anda geli\u015ftirmelerine olanak tan\u0131r. Bu sayede, hatalar\u0131n tespiti ve d\u00fczeltilmesi kolayla\u015f\u0131rken, projenin genel istikrar\u0131 da art\u0131r\u0131l\u0131r.<\/p>\n<p>CentOS 7, \u00f6zellikle kurumsal ortamlarda ve sunucu altyap\u0131lar\u0131nda yayg\u0131n olarak tercih edilen, kararl\u0131 ve g\u00fcvenilir bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Uzun s\u00fcreli destek (LTS) sunmas\u0131 ve sa\u011flam g\u00fcvenlik \u00f6zellikleriyle bilinir. Bu \u00f6zellikler, CentOS 7&#8217;yi Git gibi kritik geli\u015ftirme ara\u00e7lar\u0131n\u0131n bar\u0131nd\u0131r\u0131lmas\u0131 i\u00e7in ideal bir platform haline getirir. Geli\u015ftiriciler ve sistem y\u00f6neticileri i\u00e7in CentOS 7 \u00fczerinde Git&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 anlamak, verimli bir geli\u015ftirme ortam\u0131 olu\u015fturman\u0131n temel ad\u0131mlar\u0131ndan biridir.<\/p>\n<p>Bu kapsaml\u0131 rehberde, CentOS 7 i\u015fletim sistemi \u00fczerinde Git&#8217;i kurman\u0131n farkl\u0131 yollar\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. \u00d6ncelikle, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in \u00f6nerilen ve en basit y\u00f6ntem olan YUM paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kurulumu ele alaca\u011f\u0131z. Ard\u0131ndan, daha g\u00fcncel bir Git s\u00fcr\u00fcm\u00fcne ihtiya\u00e7 duyan veya \u00f6zel derleme se\u00e7enekleri arayan kullan\u0131c\u0131lar i\u00e7in kaynaktan derleme (source compilation) y\u00f6ntemini detayland\u0131raca\u011f\u0131z. Kurulum sonras\u0131 temel yap\u0131land\u0131rmalar, SSH anahtar\u0131 olu\u015fturma gibi \u00f6nemli ad\u0131mlar ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik \u00e7\u00f6z\u00fcm \u00f6nerileri de bu rehberin \u00f6nemli b\u00f6l\u00fcmlerini olu\u015fturacakt\u0131r. Amac\u0131m\u0131z, CentOS 7 \u00fczerinde Git&#8217;i sorunsuz bir \u015fekilde kurup yap\u0131land\u0131rarak geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131rman\u0131za yard\u0131mc\u0131 olmakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>CentOS 7 sunucunuzda Git kurulumuna ba\u015flamadan \u00f6nce baz\u0131 temel \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z gerekmektedir. Bu ad\u0131mlar, kurulum s\u00fcrecinin sorunsuz ilerlemesi i\u00e7in kritik \u00f6neme sahiptir:<\/p>\n<p>*   <strong>CentOS 7 \u0130\u015fletim Sistemi:<\/strong> Git&#8217;i kuraca\u011f\u0131n\u0131z bir CentOS 7 sunucusuna veya sanal makineye eri\u015fiminiz olmal\u0131d\u0131r.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucuya SSH \u00fczerinden ba\u011flanabilme yetene\u011finiz olmal\u0131d\u0131r. Genellikle bu, bir terminal (Linux\/macOS) veya PuTTY (Windows) gibi bir SSH istemcisi arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Kurulum komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>root<\/code> kullan\u0131c\u0131s\u0131 olarak oturum a\u00e7m\u0131\u015f olman\u0131z veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131n bulunmas\u0131 gerekir. <code>sudo<\/code> kullanmak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan genellikle daha iyi bir uygulamad\u0131r.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Paketleri indirmek veya kaynak kodunu \u00e7ekmek i\u00e7in sunucunuzun aktif bir internet ba\u011flant\u0131s\u0131na sahip olmas\u0131 \u015fartt\u0131r.<br \/>\n*   <strong>G\u00fcncel Sistem:<\/strong> Kuruluma ba\u015flamadan \u00f6nce sistem paketlerinin g\u00fcncel oldu\u011fundan emin olmak, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nleyebilir. Bu ad\u0131m\u0131 a\u015fa\u011f\u0131daki b\u00f6l\u00fcmde detayl\u0131 olarak ele alaca\u011f\u0131z.<\/p>\n<p>Bu \u00f6n gereksinimler kar\u015f\u0131land\u0131\u011f\u0131nda, Git kurulumuna ge\u00e7meye haz\u0131rs\u0131n\u0131z demektir.<\/p>\n<h3>YUM Paket Y\u00f6neticisi ile Git Kurulumu (\u00d6nerilen Y\u00f6ntem)<\/h3>\n<p>CentOS 7 \u00fczerinde Git kurman\u0131n en kolay ve \u00f6nerilen yolu, i\u015fletim sisteminin varsay\u0131lan paket y\u00f6neticisi olan YUM&#8217;u kullanmakt\u0131r. Bu y\u00f6ntem, Git&#8217;in kararl\u0131 bir s\u00fcr\u00fcm\u00fcn\u00fc otomatik olarak kurar ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00f6netir.<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizdeki t\u00fcm mevcut paketlerin en son s\u00fcr\u00fcmlerine g\u00fcncellenmesi iyi bir uygulamad\u0131r. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 gidermeye yard\u0131mc\u0131 olur ve sistemin genel kararl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y<\/code><\/pre>\n<p>Bu komut, sistemdeki t\u00fcm paketleri g\u00fcnceller. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm onay sorular\u0131na otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermeyi sa\u011flar. Bu i\u015flem, internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ve g\u00fcncellenecek paket say\u0131s\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<h4>Git&#8217;i YUM ile Kurma<\/h4>\n<p>Sisteminiz g\u00fcncellendikten sonra, Git&#8217;i kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo yum install git -y<\/code><\/pre>\n<p>Bu komut, YUM depolar\u0131ndan Git paketini ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik olarak indirip kuracakt\u0131r. \u0130\u015flem tamamland\u0131\u011f\u0131nda, Git sisteminize y\u00fcklenmi\u015f olacakt\u0131r.<\/p>\n<h4>Git Kurulumunu Do\u011frulama<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Git s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>Bu komut, sisteminizde y\u00fckl\u00fc olan Git&#8217;in s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6sterecektir. \u00d6rne\u011fin, \u00e7\u0131kt\u0131 <code>git version 1.8.3.1<\/code> gibi bir \u015fey olabilir. CentOS 7&#8217;nin varsay\u0131lan depolar\u0131nda genellikle daha eski bir Git s\u00fcr\u00fcm\u00fc bulunur. E\u011fer en g\u00fcncel s\u00fcr\u00fcme ihtiyac\u0131n\u0131z varsa, kaynaktan derleme y\u00f6ntemini veya EPEL deposunu kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/p>\n<h4>EPEL Deposunu Kullanarak Daha G\u00fcncel Git S\u00fcr\u00fcm\u00fc Kurma (Opsiyonel)<\/h4>\n<p>CentOS&#8217;un varsay\u0131lan depolar\u0131 genellikle yaz\u0131l\u0131mlar\u0131n daha eski ama kararl\u0131 s\u00fcr\u00fcmlerini i\u00e7erir. E\u011fer YUM ile daha g\u00fcncel bir Git s\u00fcr\u00fcm\u00fc kurmak isterseniz, Extra Packages for Enterprise Linux (EPEL) deposunu etkinle\u015ftirebilirsiniz. EPEL, Fedora projesi taraf\u0131ndan sa\u011flanan ve RHEL\/CentOS i\u00e7in ek paketler sunan bir depodur.<\/p>\n<p>\u00d6nce EPEL deposunu kurun:<\/p>\n<pre><code class=\"language-bash\">sudo yum install epel-release -y<\/code><\/pre>\n<p>EPEL etkinle\u015ftirildikten sonra, sisteminizi tekrar g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y<\/code><\/pre>\n<p>Ard\u0131ndan, Git&#8217;i tekrar kurmay\u0131 deneyin. E\u011fer EPEL&#8217;de daha yeni bir s\u00fcr\u00fcm varsa, bu s\u00fcr\u00fcm y\u00fcklenecektir:<\/p>\n<pre><code class=\"language-bash\">sudo yum install git -y<\/code><\/pre>\n<p><strong>Not:<\/strong> E\u011fer zaten Git&#8217;in eski bir s\u00fcr\u00fcm\u00fcn\u00fc kurmu\u015fsan\u0131z, bu ad\u0131m mevcut s\u00fcr\u00fcm\u00fc EPEL&#8217;deki daha yeni s\u00fcr\u00fcmle de\u011fi\u015ftirebilir. <code>git --version<\/code> komutu ile hangi s\u00fcr\u00fcm\u00fcn y\u00fckl\u00fc oldu\u011funu kontrol edin.<\/p>\n<h4>Temel Git Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Git&#8217;i kullanmaya ba\u015flamadan \u00f6nce, baz\u0131 temel kullan\u0131c\u0131 bilgilerini yap\u0131land\u0131rman\u0131z \u00f6nemlidir. Bu bilgiler, yapt\u0131\u011f\u0131n\u0131z her commit ile birlikte kaydedilir ve kimin hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131 belirtir.<\/p>\n<p>*   <strong>Kullan\u0131c\u0131 Ad\u0131 Ayarlama:<\/strong><\/p>\n<pre><code class=\"language-bash\">git config --global user.name \"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"<\/code><\/pre>\n<p>    <code>\"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"<\/code> k\u0131sm\u0131n\u0131 kendi ad\u0131n\u0131z ve soyad\u0131n\u0131zla de\u011fi\u015ftirin. Bu, commit mesajlar\u0131n\u0131zda g\u00f6r\u00fcnecek isimdir.<\/p>\n<p>*   <strong>E-posta Adresi Ayarlama:<\/strong><\/p>\n<pre><code class=\"language-bash\">git config --global user.email \"email@example.com\"<\/code><\/pre>\n<p>    <code>\"email@example.com\"<\/code> k\u0131sm\u0131n\u0131 kendi e-posta adresinizle de\u011fi\u015ftirin. Bu, commit mesajlar\u0131n\u0131zda g\u00f6r\u00fcnecek e-posta adresidir. Genellikle GitHub, GitLab gibi platformlarda kulland\u0131\u011f\u0131n\u0131z e-posta adresiyle e\u015fle\u015fmesi \u00f6nerilir.<\/p>\n<p>*   <strong>Varsay\u0131lan Metin D\u00fczenleyici Ayarlama (Opsiyonel):<\/strong><br \/>\n    Git, commit mesajlar\u0131 veya rebase i\u015flemleri gibi durumlarda bir metin d\u00fczenleyiciye ihtiya\u00e7 duyabilir. Varsay\u0131lan olarak <code>vi<\/code> veya <code>vim<\/code> kullan\u0131l\u0131r, ancak <code>nano<\/code> gibi daha kullan\u0131c\u0131 dostu bir d\u00fczenleyici ayarlayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git config --global core.editor \"nano\"<\/code><\/pre>\n<p>    veya<\/p>\n<pre><code class=\"language-bash\">git config --global core.editor \"vim\"<\/code><\/pre>\n<p>*   <strong>Yap\u0131land\u0131rmay\u0131 Kontrol Etme:<\/strong><br \/>\n    Yapt\u0131\u011f\u0131n\u0131z t\u00fcm global yap\u0131land\u0131rma ayarlar\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git config --list<\/code><\/pre>\n<p>    Bu komut, global yap\u0131land\u0131rma dosyas\u0131nda (genellikle <code>~\/.gitconfig<\/code> konumunda bulunur) kaydedilen t\u00fcm ayarlar\u0131 listeleyecektir.<\/p>\n<p>Bu ad\u0131mlarla, CentOS 7 \u00fczerine Git&#8217;i YUM paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla ba\u015far\u0131yla kurmu\u015f ve temel yap\u0131land\u0131rmas\u0131n\u0131 tamamlam\u0131\u015f olursunuz. Art\u0131k Git depolar\u0131yla \u00e7al\u0131\u015fmaya haz\u0131rs\u0131n\u0131z.<\/p>\n<h3>Kaynaktan Git Kurulumu (En G\u00fcncel S\u00fcr\u00fcm \u0130\u00e7in)<\/h3>\n<p>YUM ile kurulum, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in yeterli olsa da, bazen en g\u00fcncel Git s\u00fcr\u00fcm\u00fcne veya belirli derleme se\u00e7eneklerine ihtiya\u00e7 duyabilirsiniz. Bu durumlarda, Git&#8217;i kaynaktan derlemek (compile from source) en iyi se\u00e7enektir. Bu y\u00f6ntem, size Git&#8217;in en yeni \u00f6zelliklerine ve performans iyile\u015ftirmelerine eri\u015fim sa\u011flar.<\/p>\n<h4>Neden Kaynaktan Kurulum?<\/h4>\n<p>*   <strong>En G\u00fcncel S\u00fcr\u00fcm:<\/strong> YUM depolar\u0131 genellikle yaz\u0131l\u0131mlar\u0131n kararl\u0131 ama biraz eski s\u00fcr\u00fcmlerini bar\u0131nd\u0131r\u0131r. Kaynaktan derleme, Git&#8217;in resmi web sitesinde yay\u0131nlanan en son s\u00fcr\u00fcm\u00fcn\u00fc kurman\u0131za olanak tan\u0131r.<br \/>\n*   <strong>\u00d6zel Derleme Se\u00e7enekleri:<\/strong> Belirli ihtiya\u00e7lar\u0131n\u0131z i\u00e7in Git&#8217;i \u00f6zel bayraklar veya mod\u00fcllerle derleyebilirsiniz.<br \/>\n*   <strong>Ba\u011f\u0131ms\u0131z Kurulum:<\/strong> Sistem genelindeki Git paketinden ba\u011f\u0131ms\u0131z olarak, belirli bir dizine Git&#8217;i kurabilirsiniz.<\/p>\n<h4>Derleme Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 Kurma<\/h4>\n<p>Git&#8217;i kaynaktan derlemek i\u00e7in, \u00f6ncelikle derleme ara\u00e7lar\u0131na ve baz\u0131 geli\u015ftirme k\u00fct\u00fcphanelerine ihtiyac\u0131n\u0131z olacakt\u0131r. Bu ba\u011f\u0131ml\u0131l\u0131klar\u0131 YUM ile kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo yum groupinstall \"Development Tools\" -y<\/code><\/pre>\n<p>Bu komut, <code>gcc<\/code>, <code>make<\/code> gibi temel derleme ara\u00e7lar\u0131n\u0131 i\u00e7eren &#8220;Development Tools&#8221; grubunu kurar. Ek olarak, Git&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 k\u00fct\u00fcphanelere de ihtiyac\u0131n\u0131z olacakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo yum install curl-devel expat-devel gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel -y<\/code><\/pre>\n<p>Bu k\u00fct\u00fcphaneler, Git&#8217;in HTTPS, SSH gibi protokollerle ileti\u015fim kurmas\u0131, s\u0131k\u0131\u015ft\u0131rma i\u015flemleri yapmas\u0131 ve \u00e7e\u015fitli dahili i\u015flevleri yerine getirmesi i\u00e7in gereklidir.<\/p>\n<h4>Git Kaynak Kodunu \u0130ndirme<\/h4>\n<p>Ba\u011f\u0131ml\u0131l\u0131klar kurulduktan sonra, Git&#8217;in kaynak kodunu resmi web sitesinden indirmelisiniz. Git&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc <code>kernel.org<\/code> adresindeki Git ar\u015fivi sayfas\u0131nda bulabilirsiniz: <code>https:\/\/www.kernel.org\/pub\/software\/scm\/git\/<\/code>.<\/p>\n<p>Genellikle, kaynak kodunu <code>\/usr\/src<\/code> veya <code>\/opt<\/code> gibi ge\u00e7ici bir dizine indirmeniz \u00f6nerilir. \u00d6rnek olarak, en son s\u00fcr\u00fcm olan <code>2.45.0<\/code> (bu s\u00fcr\u00fcm zamanla de\u011fi\u015febilir, l\u00fctfen en g\u00fcncel olan\u0131 kontrol edin) i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/usr\/src\nsudo wget https:\/\/www.kernel.org\/pub\/software\/scm\/git\/git-2.45.0.tar.gz<\/code><\/pre>\n<p><strong>\u00d6NEML\u0130:<\/strong> L\u00fctfen <code>git-2.45.0.tar.gz<\/code> k\u0131sm\u0131n\u0131 indirmek istedi\u011finiz Git&#8217;in en g\u00fcncel kararl\u0131 s\u00fcr\u00fcm\u00fc ile de\u011fi\u015ftirin.<\/p>\n<h4>Kaynak Kodunu \u00c7\u0131karma ve Derleme<\/h4>\n<p>Kaynak kodu indirildikten sonra, paketi a\u00e7\u0131n ve derleme i\u015flemine ba\u015flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo tar -zxf git-2.45.0.tar.gz\ncd git-2.45.0<\/code><\/pre>\n<p>\u015eimdi, Git&#8217;i derleyip kurma zaman\u0131. <code>make<\/code> komutu ile derleme i\u015flemini ba\u015flat\u0131n ve <code>prefix<\/code> parametresi ile kurulum yolunu belirtin. <code>\/usr\/local<\/code> genellikle kaynaktan derlenen yaz\u0131l\u0131mlar i\u00e7in standart bir konumdur.<\/p>\n<pre><code class=\"language-bash\">sudo make prefix=\/usr\/local all\nsudo make prefix=\/usr\/local install<\/code><\/pre>\n<p><code>make all<\/code> komutu Git&#8217;in t\u00fcm bile\u015fenlerini derlerken, <code>make install<\/code> komutu derlenen dosyalar\u0131 <code>\/usr\/local\/bin<\/code>, <code>\/usr\/local\/share\/man<\/code> gibi belirtilen prefix alt\u0131ndaki dizinlere kopyalar. Bu i\u015flem, sisteminizin performans\u0131na ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir.<\/p>\n<h4>Git Kurulumunu Do\u011frulama<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in tekrar Git s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>Bu sefer, indirdi\u011finiz ve derledi\u011finiz en g\u00fcncel Git s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6rmelisiniz (\u00f6rne\u011fin, <code>git version 2.45.0<\/code>). E\u011fer hala eski s\u00fcr\u00fcm\u00fc g\u00f6r\u00fcyorsan\u0131z, sisteminizin PATH de\u011fi\u015fkeninde <code>\/usr\/local\/bin<\/code> dizininin <code>\/usr\/bin<\/code> (YUM ile kurulan Git&#8217;in yolu) dizininden \u00f6nce geldi\u011finden emin olman\u0131z gerekebilir. Genellikle, <code>\/etc\/profile<\/code> veya <code>~\/.bashrc<\/code> gibi dosyalarda PATH yap\u0131land\u0131rmas\u0131 yap\u0131l\u0131r.<\/p>\n<p>\u00d6rne\u011fin, <code>\/etc\/profile<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek <code>\/usr\/local\/bin<\/code> yolunu PATH&#8217;e ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/profile<\/code><\/pre>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin veya mevcut PATH tan\u0131m\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">export PATH=\"\/usr\/local\/bin:$PATH\"<\/code><\/pre>\n<p>Kaydedip \u00e7\u0131kt\u0131ktan sonra, de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in oturumu yeniden ba\u015flat\u0131n veya a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">source \/etc\/profile<\/code><\/pre>\n<p>Ard\u0131ndan <code>git --version<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rarak do\u011fru s\u00fcr\u00fcm\u00fcn g\u00f6sterildi\u011finden emin olun.<\/p>\n<p>Kaynaktan kurulum, daha fazla ad\u0131m gerektirse de, size Git&#8217;in en yeni \u00f6zelliklerini ve maksimum esnekli\u011fi sunar. Kurulum sonras\u0131 temel yap\u0131land\u0131rma ad\u0131mlar\u0131, YUM ile kurulumdakiyle ayn\u0131d\u0131r ve bir sonraki b\u00f6l\u00fcmde ele al\u0131nacakt\u0131r.<\/p>\n<h3>Kurulum Sonras\u0131 Yap\u0131land\u0131rma ve En \u0130yi Uygulamalar<\/h3>\n<p>Git kurulumu tamamland\u0131ktan sonra, geli\u015ftirme i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 daha verimli ve g\u00fcvenli hale getirecek baz\u0131 ek yap\u0131land\u0131rmalar ve en iyi uygulamalar bulunmaktad\u0131r.<\/p>\n<h4>Git Kullan\u0131c\u0131 Bilgilerini Ayarlama (Tekrar Hat\u0131rlatma)<\/h4>\n<p>YUM veya kaynaktan kurulum yapm\u0131\u015f olun, Git&#8217;in do\u011fru \u015fekilde \u00e7al\u0131\u015fmas\u0131 ve commit&#8217;lerinizin do\u011fru kullan\u0131c\u0131ya atanmas\u0131 i\u00e7in bu ad\u0131mlar kritik \u00f6neme sahiptir. E\u011fer daha \u00f6nce yapmad\u0131ysan\u0131z, \u015fimdi yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">git config --global user.name \"Ad\u0131n\u0131z Soyad\u0131n\u0131z\"\ngit config --global user.email \"email@example.com\"<\/code><\/pre>\n<p>Bu ayarlar, <code>~\/.gitconfig<\/code> dosyas\u0131nda saklan\u0131r ve Git&#8217;in bu kullan\u0131c\u0131 bilgileriyle t\u00fcm depolar\u0131n\u0131zda commit yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>SSH Anahtar\u0131 Olu\u015fturma (G\u00fcvenli Depo Eri\u015fimi \u0130\u00e7in)<\/h4>\n<p>Uzak Git depolar\u0131yla (GitHub, GitLab, Bitbucket vb.) g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak i\u00e7in SSH anahtarlar\u0131 kullanmak, kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile kimlik do\u011frulamaya g\u00f6re \u00e7ok daha g\u00fcvenli ve pratik bir y\u00f6ntemdir.<\/p>\n<p>*   <strong>SSH Anahtar\u0131 Olu\u015fturma:<\/strong><br \/>\n    A\u015fa\u011f\u0131daki komut, 4096 bit RSA anahtar \u00e7ifti olu\u015fturur ve e-posta adresinizi anahtar\u0131n\u0131za yorum olarak ekler:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -t rsa -b 4096 -C \"email@example.com\"<\/code><\/pre>\n<p>    Komut sizden anahtar dosyas\u0131n\u0131n kaydedilece\u011fi konumu (varsay\u0131lan: <code>~\/.ssh\/id_rsa<\/code>) ve iste\u011fe ba\u011fl\u0131 olarak bir parola (passphrase) girmenizi isteyecektir. G\u00fcvenli\u011fi art\u0131rmak i\u00e7in bir parola girmeniz \u00f6nerilir, ancak her kullan\u0131\u015f\u0131n\u0131zda girmeniz gerekece\u011fi i\u00e7in pratik olmayabilir.<\/p>\n<p>*   <strong>SSH Arac\u0131s\u0131n\u0131 Ba\u015flatma ve Anahtar\u0131 Ekleme:<\/strong><br \/>\n    Olu\u015fturdu\u011funuz anahtar\u0131n otomatik olarak SSH arac\u0131 (agent) taraf\u0131ndan y\u00f6netilmesi i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"\n    ssh-add ~\/.ssh\/id_rsa<\/code><\/pre>\n<p>    Bu ad\u0131mlar, SSH anahtar\u0131n\u0131z\u0131n oturumunuz boyunca kullan\u0131labilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>*   <strong>Herkese A\u00e7\u0131k Anahtar\u0131 Uzak Depoya Ekleme:<\/strong><br \/>\n    Uzak Git hizmet sa\u011flay\u0131c\u0131n\u0131za (\u00f6rne\u011fin GitHub) herkese a\u00e7\u0131k anahtar\u0131n\u0131z\u0131 (public key) eklemeniz gerekmektedir. Herkese a\u00e7\u0131k anahtar\u0131n\u0131z\u0131n i\u00e7eri\u011fini g\u00f6r\u00fcnt\u00fclemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cat ~\/.ssh\/id_rsa.pub<\/code><\/pre>\n<p>    Bu komutun \u00e7\u0131kt\u0131s\u0131n\u0131 kopyalay\u0131n ve GitHub, GitLab veya Bitbucket hesab\u0131n\u0131z\u0131n SSH anahtarlar\u0131 b\u00f6l\u00fcm\u00fcne yap\u0131\u015ft\u0131r\u0131n. Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, uzak depolara \u015fifre girmeden <code>git push<\/code> ve <code>git pull<\/code> gibi i\u015flemleri yapabileceksiniz.<\/p>\n<h4>Git Takma Adlar\u0131 (Aliases) Olu\u015fturma<\/h4>\n<p>Git komutlar\u0131n\u0131 daha h\u0131zl\u0131 ve verimli kullanmak i\u00e7in takma adlar (aliases) olu\u015fturabilirsiniz. Bu, s\u0131k kullan\u0131lan uzun komutlar\u0131 k\u0131saltman\u0131za olanak tan\u0131r.<\/p>\n<pre><code class=\"language-bash\">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.hist \"log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short\"<\/code><\/pre>\n<p>Bu \u00f6rnekler, <code>git checkout<\/code> yerine <code>git co<\/code>, <code>git commit<\/code> yerine <code>git ci<\/code> ve <code>git status<\/code> yerine <code>git st<\/code> kullanman\u0131z\u0131 sa\u011flar. <code>git hist<\/code> ise \u00f6zel bi\u00e7imlendirilmi\u015f bir log \u00e7\u0131kt\u0131s\u0131 verir.<\/p>\n<h4>.gitignore Dosyas\u0131 Kullan\u0131m\u0131<\/h4>\n<p>Projelerinizde Git taraf\u0131ndan takip edilmemesi gereken dosyalar (\u00f6rne\u011fin, derleme \u00e7\u0131kt\u0131lar\u0131, ge\u00e7ici dosyalar, log dosyalar\u0131, hassas yap\u0131land\u0131rma dosyalar\u0131) olabilir. Bu dosyalar\u0131 <code>.gitignore<\/code> adl\u0131 bir metin dosyas\u0131 kullanarak Git&#8217;in g\u00f6rmezden gelmesini sa\u011flayabilirsiniz.<br \/>\nProjenizin k\u00f6k dizininde <code>.gitignore<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine takip etmek istemedi\u011finiz dosya veya dizin desenlerini yaz\u0131n:<\/p>\n<pre><code class=\"language-\"># Log dosyalar\u0131\n*.log\n<h2>Derleme \u00e7\u0131kt\u0131lar\u0131<\/h2>\n\/build\/\n\/dist\/\n<h2>Paket y\u00f6neticisi ba\u011f\u0131ml\u0131l\u0131klar\u0131<\/h2>\nnode_modules\/\nvendor\/\n<h2>Edit\u00f6r\/IDE ge\u00e7ici dosyalar\u0131<\/h2>\n.idea\/\n.vscode\/\n*.swp<\/code><\/pre>\n<p><code>.gitignore<\/code> dosyas\u0131 hakk\u0131nda daha fazla bilgi i\u00e7in Git&#8217;in resmi belgelerine ba\u015fvurabilirsiniz.<\/p>\n<h4>Temel Git \u0130\u015f Ak\u0131\u015f\u0131<\/h4>\n<p>Git&#8217;i kurup yap\u0131land\u0131rd\u0131ktan sonra, temel bir Git i\u015f ak\u0131\u015f\u0131n\u0131 anlamak projenizle etkile\u015fim kurman\u0131za yard\u0131mc\u0131 olacakt\u0131r:<\/p>\n<p>*   <strong>Depo Klonlama:<\/strong> Mevcut bir uzak depoyu yerel sisteminize kopyalamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">git clone [depo_url]<\/code><\/pre>\n<p>    \u00d6rnek: <code>git clone git@github.com:kullanici\/repo.git<\/code><\/p>\n<p>*   <strong>Durumu Kontrol Etme:<\/strong> \u00c7al\u0131\u015fma dizininizdeki de\u011fi\u015fikliklerin durumunu g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">git status<\/code><\/pre>\n<p>*   <strong>De\u011fi\u015fiklikleri Sahneleme:<\/strong> Yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri bir sonraki commit&#8217;e dahil etmek i\u00e7in sahne alan\u0131na (staging area) ekleyin:<\/p>\n<pre><code class=\"language-bash\">git add . # T\u00fcm de\u011fi\u015fiklikleri ekler\n    git add dosya_adi.txt # Belirli bir dosyay\u0131 ekler<\/code><\/pre>\n<p>*   <strong>De\u011fi\u015fiklikleri Commit Etme:<\/strong> Sahnelenmi\u015f de\u011fi\u015fiklikleri yerel depoya kaydetmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">git commit -m \"Anlaml\u0131 bir commit mesaj\u0131\"<\/code><\/pre>\n<p>    Commit mesajlar\u0131, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikli\u011fi \u00f6zetlemeli ve a\u00e7\u0131klay\u0131c\u0131 olmal\u0131d\u0131r.<\/p>\n<p>*   <strong>De\u011fi\u015fiklikleri Uzak Depoya G\u00f6nderme:<\/strong> Yerel commit&#8217;lerinizi uzak depoya y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">git push origin master # Veya hangi branch'e g\u00f6nderiyorsan\u0131z<\/code><\/pre>\n<p>*   <strong>Uzak Depodan De\u011fi\u015fiklikleri \u00c7ekme:<\/strong> Uzak depodaki yeni de\u011fi\u015fiklikleri yerel deponuza indirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">git pull origin master # Veya hangi branch'ten \u00e7ekiyorsan\u0131z<\/code><\/pre>\n<p>Bu ad\u0131mlar, Git ile \u00e7al\u0131\u015fmaya ba\u015flamak i\u00e7in temel bir \u00e7er\u00e7eve sunar. Git&#8217;in sundu\u011fu dallanma (branching), birle\u015ftirme (merging), yeniden tabanlama (rebasing) gibi daha geli\u015fmi\u015f \u00f6zellikler, projelerinizin karma\u015f\u0131kl\u0131\u011f\u0131 artt\u0131k\u00e7a daha da \u00f6nem kazanacakt\u0131r.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Git kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve \u00e7\u00f6z\u00fcm \u00f6nerileri:<\/p>\n<h4>1. <code>git<\/code> Komutu Bulunamad\u0131 (<code>command not found<\/code>)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Git&#8217;i kurdu\u011funuzu d\u00fc\u015f\u00fcn\u00fcyorsunuz ama <code>git<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda <code>bash: git: command not found<\/code> hatas\u0131 al\u0131yorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Kurulumu Kontrol Edin:<\/strong> Git&#8217;in ger\u00e7ekten y\u00fckl\u00fc olup olmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n. <code>sudo yum install git<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n    *   <strong>PATH De\u011fi\u015fkeni:<\/strong> \u00d6zellikle kaynaktan derleme yapt\u0131ysan\u0131z, Git&#8217;in y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n bulundu\u011fu dizin (<code>\/usr\/local\/bin<\/code> gibi) sisteminizin PATH de\u011fi\u015fkeninde olmayabilir veya yanl\u0131\u015f s\u0131rada olabilir. <code>echo $PATH<\/code> komutuyla PATH&#8217;inizi kontrol edin. PATH&#8217;e do\u011fru dizini eklemek i\u00e7in <code>\/etc\/profile<\/code> veya <code>~\/.bashrc<\/code> dosyas\u0131n\u0131 d\u00fczenleyip <code>source<\/code> komutuyla veya oturumu yeniden ba\u015flatarak uygulay\u0131n.<br \/>\n    *   <strong>Sembolik Ba\u011flant\u0131:<\/strong> Bazen <code>\/usr\/bin\/git<\/code> yerine <code>\/usr\/local\/bin\/git<\/code> gibi bir yola kurulmu\u015f olabilir. Bu durumda bir sembolik ba\u011flant\u0131 olu\u015fturabilirsiniz: <code>sudo ln -s \/usr\/local\/bin\/git \/usr\/bin\/git<\/code>. Ancak bu, YUM ile kurulan Git ile \u00e7ak\u0131\u015fmalara neden olabilir, dikkatli olun.<\/p>\n<h4>2. Kimlik Do\u011frulama Hatas\u0131 (<code>Permission denied (publickey)<\/code>)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Uzak depoya <code>git push<\/code> veya <code>git pull<\/code> yapmaya \u00e7al\u0131\u015f\u0131rken SSH ile ilgili bir <code>Permission denied<\/code> hatas\u0131 al\u0131yorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>SSH Anahtar\u0131n\u0131 Kontrol Edin:<\/strong> <code>~\/.ssh\/id_rsa<\/code> dosyas\u0131n\u0131n var olup olmad\u0131\u011f\u0131n\u0131 ve do\u011fru izinlere sahip olup olmad\u0131\u011f\u0131n\u0131 kontrol edin (<code>chmod 600 ~\/.ssh\/id_rsa<\/code>).<br \/>\n    *   <strong>Public Anahtar\u0131 Kontrol Edin:<\/strong> <code>~\/.ssh\/id_rsa.pub<\/code> dosyas\u0131ndaki herkese a\u00e7\u0131k anahtar\u0131n\u0131z\u0131n GitHub, GitLab veya Bitbucket hesab\u0131n\u0131za do\u011fru bir \u015fekilde eklenmi\u015f oldu\u011fundan emin olun.<br \/>\n    *   <strong>SSH Arac\u0131s\u0131:<\/strong> <code>ssh-agent<\/code>&#8216;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve anahtar\u0131n\u0131z\u0131n ona ekli oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"\n        ssh-add ~\/.ssh\/id_rsa<\/code><\/pre>\n<p>    *   <strong>Uzak Depo URL&#8217;si:<\/strong> Deponun SSH URL&#8217;sini kulland\u0131\u011f\u0131n\u0131zdan emin olun (\u00f6rne\u011fin, <code>git@github.com:kullanici\/repo.git<\/code> yerine <code>https:\/\/github.com\/kullanici\/repo.git<\/code>). <code>git remote -v<\/code> ile uzak URL&#8217;leri kontrol edebilirsiniz.<\/p>\n<h4>3. Merge \u00c7ak\u0131\u015fmalar\u0131 (<code>Merge conflict<\/code>)<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>git pull<\/code> veya <code>git merge<\/code> i\u015flemi s\u0131ras\u0131nda ayn\u0131 dosyan\u0131n ayn\u0131 sat\u0131rlar\u0131nda farkl\u0131 de\u011fi\u015fiklikler yap\u0131ld\u0131\u011f\u0131nda ortaya \u00e7\u0131kan \u00e7ak\u0131\u015fmalar.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Manuel \u00c7\u00f6z\u00fcm:<\/strong> Git, \u00e7ak\u0131\u015fan b\u00f6lgeleri \u00f6zel i\u015faretleyicilerle (<code><<<<<<<<\/code>, <code>=======<\/code>, <code>>>>>>>><\/code>) belirtir. Etkilenen dosyalar\u0131 bir metin d\u00fczenleyiciyle a\u00e7\u0131n, hangi de\u011fi\u015fiklikleri korumak istedi\u011finize karar verin, i\u015faretleyicileri ve istemedi\u011finiz kod par\u00e7alar\u0131n\u0131 silin.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm\u00fc \u0130\u015faretleme:<\/strong> \u00c7ak\u0131\u015fmalar\u0131 \u00e7\u00f6zd\u00fckten sonra, dosyalar\u0131 sahne alan\u0131na ekleyin (<code>git add dosya_adi.txt<\/code>) ve yeni bir commit yap\u0131n (<code>git commit -m \"Merge \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00e7\u00f6zd\u00fck\"<\/code>).<\/p>\n<h4>4. A\u011f Sorunlar\u0131 (<code>Failed to connect<\/code>, <code>Could not resolve host<\/code>)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Git, uzak depolara ba\u011flanam\u0131yor veya host ad\u0131n\u0131 \u00e7\u00f6z\u00fcmleyemiyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Sunucunuzun internet ba\u011flant\u0131s\u0131n\u0131 kontrol edin (<code>ping google.com<\/code>).<br \/>\n    *   <strong>DNS Ayarlar\u0131:<\/strong> DNS \u00e7\u00f6z\u00fcmlemesi ile ilgili sorunlar olabilir. <code>\/etc\/resolv.conf<\/code> dosyas\u0131n\u0131 kontrol edin.<br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131 (Firewall):<\/strong> Sunucunuzdaki g\u00fcvenlik duvar\u0131 (firewalld) Git'in ihtiya\u00e7 duydu\u011fu portlar\u0131 (HTTP\/HTTPS i\u00e7in 80\/443, SSH i\u00e7in 22) engelliyor olabilir. Gerekli portlar\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-service=http\n        sudo firewall-cmd --permanent --add-service=https\n        sudo firewall-cmd --permanent --add-service=ssh\n        sudo firewall-cmd --reload<\/code><\/pre>\n<p>    *   <strong>Proxy Ayarlar\u0131:<\/strong> E\u011fer bir proxy sunucusu arkas\u0131ndaysan\u0131z, Git'in proxy ayarlar\u0131n\u0131 yap\u0131land\u0131rman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">git config --global http.proxy http:\/\/proxy.example.com:8080\n        git config --global https.proxy https:\/\/proxy.example.com:8080<\/code><\/pre>\n<p>        Proxy kullanm\u0131yorsan\u0131z bu ayarlar\u0131 temizleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git config --global --unset http.proxy\n        git config --global --unset https.proxy<\/code><\/pre>\n<h4>5. B\u00fcy\u00fck Dosya Sorunlar\u0131 (<code>Large file detected<\/code>)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Git, b\u00fcy\u00fck ikili dosyalar\u0131 (\u00f6rne\u011fin, videolar, b\u00fcy\u00fck veritaban\u0131 yedekleri) y\u00f6netmekte zorlan\u0131r. Bu dosyalar depoyu \u015fi\u015firir ve klonlama s\u00fcrelerini uzat\u0131r.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   <strong>Git LFS (Large File Storage):<\/strong> Git LFS, b\u00fcy\u00fck dosyalar\u0131n depolanmas\u0131n\u0131 optimize eden bir Git uzant\u0131s\u0131d\u0131r. Kurup yap\u0131land\u0131rarak b\u00fcy\u00fck dosyalar\u0131 ayr\u0131 bir depoda tutabilir ve sadece ihtiya\u00e7 duyuldu\u011funda indirebilirsiniz.<br \/>\n    *   <strong><code>.gitignore<\/code> Kullan\u0131m\u0131:<\/strong> B\u00fcy\u00fck dosyalar\u0131n depoya hi\u00e7 eklenmemesini sa\u011flamak i\u00e7in <code>.gitignore<\/code> dosyas\u0131n\u0131 kullan\u0131n.<\/p>\n<p>Bu sorun giderme ipu\u00e7lar\u0131, Git ile \u00e7al\u0131\u015f\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlar\u0131n \u00fcstesinden gelmenize yard\u0131mc\u0131 olacakt\u0131r. Daha spesifik sorunlar i\u00e7in Git'in resmi belgelerine veya topluluk forumlar\u0131na ba\u015fvurmak her zaman iyi bir fikirdir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, CentOS 7 i\u015fletim sistemi \u00fczerinde Git'i kurman\u0131n ve yap\u0131land\u0131rman\u0131n t\u00fcm \u00f6nemli ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceledik. Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin temel ta\u015f\u0131 olan Git, projelerinizi verimli bir \u015fekilde y\u00f6netmek, ekip \u00fcyeleriyle sorunsuz i\u015fbirli\u011fi yapmak ve kod taban\u0131n\u0131zdaki de\u011fi\u015fiklikleri g\u00fcvenle takip etmek i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/p>\n<p>\u00d6ncelikle, CentOS 7'nin kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011finin Git gibi kritik ara\u00e7lar i\u00e7in neden ideal bir platform oldu\u011funu vurgulad\u0131k. Ard\u0131ndan, \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in en basit ve \u00f6nerilen y\u00f6ntem olan YUM paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla Git kurulumunu ad\u0131m ad\u0131m g\u00f6sterdik. Bu y\u00f6ntem, Git'in kararl\u0131 bir s\u00fcr\u00fcm\u00fcn\u00fc h\u0131zl\u0131ca kurman\u0131z\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 otomatik olarak y\u00f6netmenizi sa\u011flar. EPEL deposunu kullanarak daha g\u00fcncel bir Git s\u00fcr\u00fcm\u00fcne nas\u0131l eri\u015filece\u011fini de bu b\u00f6l\u00fcmde ele ald\u0131k.<\/p>\n<p>Daha ileri d\u00fczey kullan\u0131c\u0131lar veya en g\u00fcncel Git \u00f6zelliklerine ihtiya\u00e7 duyanlar i\u00e7in, Git'i kaynaktan derleme y\u00f6ntemini ayr\u0131nt\u0131l\u0131 olarak a\u00e7\u0131klad\u0131k. Bu y\u00f6ntem, Git'in en yeni s\u00fcr\u00fcm\u00fcne eri\u015fim imkan\u0131 sunarken, ayn\u0131 zamanda \u00f6zel derleme se\u00e7enekleri \u00fczerinde daha fazla kontrol sa\u011flar. Derleme ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n kurulumundan, kaynak kodunun indirilmesine ve derleme i\u015flemlerine kadar t\u00fcm s\u00fcre\u00e7leri ad\u0131m ad\u0131m ele ald\u0131k.<\/p>\n<p>Kurulum sonras\u0131, Git'i verimli bir \u015fekilde kullanmak i\u00e7in gerekli olan temel yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 da detayland\u0131rd\u0131k. Kullan\u0131c\u0131 ad\u0131 ve e-posta adresi ayarlar\u0131, uzak depolarla g\u00fcvenli ileti\u015fim i\u00e7in SSH anahtar\u0131 olu\u015fturma, s\u0131k kullan\u0131lan komutlar i\u00e7in takma adlar (aliases) olu\u015fturma ve Git'in takip etmemesi gereken dosyalar\u0131 belirtmek i\u00e7in <code>.gitignore<\/code> dosyas\u0131n\u0131n kullan\u0131m\u0131 gibi konulara de\u011findik. Ayr\u0131ca, Git ile \u00e7al\u0131\u015fmaya ba\u015flamak i\u00e7in temel bir i\u015f ak\u0131\u015f\u0131 \u00f6rne\u011fi sunarak, depo klonlama, de\u011fi\u015fiklikleri sahneleme, commit etme ve uzak depoyla senkronize etme gibi temel i\u015flemleri a\u00e7\u0131klad\u0131k.<\/p>\n<p>Son olarak, Git kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlara y\u00f6nelik \u00e7\u00f6z\u00fcm \u00f6nerileri sunduk. <code>command not found<\/code> hatalar\u0131ndan kimlik do\u011frulama sorunlar\u0131na, merge \u00e7ak\u0131\u015fmalar\u0131ndan a\u011f sorunlar\u0131na kadar bir\u00e7ok konuyu ele alarak, olas\u0131 aksakl\u0131klar\u0131n \u00fcstesinden gelmenize yard\u0131mc\u0131 olmay\u0131 ama\u00e7lad\u0131k.<\/p>\n<p>Bu rehberin, CentOS 7 \u00fczerinde Git'i ba\u015far\u0131yla kurup yap\u0131land\u0131rman\u0131z ve geli\u015ftirme s\u00fcre\u00e7lerinizi daha verimli hale getirmeniz i\u00e7in sa\u011flam bir temel olu\u015fturdu\u011funu umuyoruz. Git'in sundu\u011fu zengin \u00f6zellik setini ke\u015ffetmeye devam ederek, s\u00fcr\u00fcm kontrol deneyiminizi daha da ileriye ta\u015f\u0131yabilirsiniz. Unutmay\u0131n, Git'in g\u00fcc\u00fc, sadece kodunuzu y\u00f6netmekle kalmaz, ayn\u0131 zamanda ekip i\u015fbirli\u011fini ve yaz\u0131l\u0131m kalitesini de \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber\nGiri\u015f\nModern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin vazge\u00e7ilmez ara\u00e7lar\u0131ndan biri olan Git, pr","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-32811","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>CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber - 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\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin vazge\u00e7ilmez ara\u00e7lar\u0131ndan biri olan Git, pr\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-26T03:40:55+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-26T03:40:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":3564,\"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\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-26T03:40:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@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":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber - 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\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinin vazge\u00e7ilmez ara\u00e7lar\u0131ndan biri olan Git, pr","og_url":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-26T03:40:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-26T03:40:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/"},"wordCount":3564,"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\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/","name":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-26T03:40:55+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/centos-7-uzerine-git-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CentOS 7 \u00dczerine Git Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@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\/32811","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=32811"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32811\/revisions"}],"predecessor-version":[{"id":32812,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32811\/revisions\/32812"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}