{"id":34777,"date":"2025-11-21T23:40:45","date_gmt":"2025-11-21T20:40:45","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34777"},"modified":"2025-11-21T23:40:45","modified_gmt":"2025-11-21T20:40:45","slug":"giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/","title":{"rendered":"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]"},"content":{"rendered":"<p><body><\/p>\n<h2>Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]<\/h2>\n<p>Git, yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015f, da\u011f\u0131t\u0131k bir s\u00fcr\u00fcm kontrol sistemidir. Milyonlarca geli\u015ftirici, projelerinin kod taban\u0131n\u0131 y\u00f6netmek, de\u011fi\u015fiklikleri takip etmek ve ekipler aras\u0131nda i\u015fbirli\u011fi yapmak i\u00e7in Git&#8217;i kullan\u0131r. Ubuntu 20.04 gibi pop\u00fcler Linux da\u011f\u0131t\u0131mlar\u0131nda Git genellikle paket y\u00f6neticileri arac\u0131l\u0131\u011f\u0131yla kolayca kurulabilir. Ancak bazen en son \u00f6zelliklere eri\u015fmek, belirli bir s\u00fcr\u00fcm\u00fc kullanmak veya \u00f6zel derleme se\u00e7enekleriyle Git&#8217;i yap\u0131land\u0131rmak isteyebilirsiniz. Bu gibi durumlarda, Git&#8217;i kaynaktan derleyip kurmak en iyi \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 20.04 sisteminizde Git&#8217;i kaynaktan nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. Bu y\u00f6ntem size en g\u00fcncel Git s\u00fcr\u00fcm\u00fcn\u00fc kullanma esnekli\u011fi sunarken, ayn\u0131 zamanda sisteminizde Git&#8217;in nas\u0131l derlendi\u011fini ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 daha iyi anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. &#8220;H\u0131zl\u0131 Ba\u015flang\u0131\u00e7&#8221; odakl\u0131 bu rehber, karma\u015f\u0131k ad\u0131mlar\u0131 basitle\u015ftirerek sizi sonuca en h\u0131zl\u0131 ve g\u00fcvenli \u015fekilde ula\u015ft\u0131rmay\u0131 hedeflemektedir.<\/p>\n<h3>Neden Git&#8217;i Kaynaktan Kurmal\u0131y\u0131z?<\/h3>\n<p>Ubuntu&#8217;nun varsay\u0131lan depolar\u0131nda genellikle kararl\u0131 ve iyi test edilmi\u015f Git s\u00fcr\u00fcmleri bulunur. <code>sudo apt install git<\/code> komutuyla Git&#8217;i kurmak \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in yeterlidir ve en h\u0131zl\u0131 yoldur. Peki, neden bu kolay yolu b\u0131rak\u0131p daha karma\u015f\u0131k g\u00f6r\u00fcnen kaynaktan kurulum y\u00f6ntemini tercih edelim?<\/p>\n<p>*   <strong>En Son \u00d6zellikler:<\/strong> Paket y\u00f6neticileri arac\u0131l\u0131\u011f\u0131yla sunulan Git s\u00fcr\u00fcmleri genellikle biraz geriden gelir. Kaynaktan kurulum, Git&#8217;in en yeni kararl\u0131 s\u00fcr\u00fcm\u00fcne veya hatta geli\u015ftirme s\u00fcr\u00fcm\u00fcne (e\u011fer isterseniz) eri\u015fmenizi sa\u011flar. Bu, en yeni komutlar\u0131, performans iyile\u015ftirmelerini ve g\u00fcvenlik yamalar\u0131n\u0131 hemen kullanabilece\u011finiz anlam\u0131na gelir.<br \/>\n*   <strong>\u00d6zelle\u015ftirme ve Derleme Se\u00e7enekleri:<\/strong> Kaynaktan kurulum, Git&#8217;i belirli ihtiya\u00e7lar\u0131n\u0131za g\u00f6re derlemenize olanak tan\u0131r. \u00d6rne\u011fin, belirli bir k\u00fct\u00fcphane deste\u011fini etkinle\u015ftirebilir veya devre d\u0131\u015f\u0131 b\u0131rakabilir, kurulum yolunu de\u011fi\u015ftirebilir veya varsay\u0131lan derleme se\u00e7eneklerini \u00f6zelle\u015ftirebilirsiniz. Bu, \u00f6zellikle \u00f6zel bir ortamda veya belirli bir entegrasyonla \u00e7al\u0131\u015fman\u0131z gerekti\u011finde faydal\u0131 olabilir.<br \/>\n*   <strong>\u00d6\u011frenme Deneyimi:<\/strong> Bir yaz\u0131l\u0131m\u0131 kaynaktan derlemek, Linux sistemlerinde yaz\u0131l\u0131m\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131n nas\u0131l y\u00f6netildi\u011fini ve derleme s\u00fcrecinin nas\u0131l i\u015fledi\u011fini anlamak i\u00e7in harika bir \u00f6\u011frenme deneyimiddir. Bu s\u00fcre\u00e7, genel Linux sistem y\u00f6netimi becerilerinizi geli\u015ftirebilir.<br \/>\n*   <strong>Eski Sistemler \u0130\u00e7in Yeni Git:<\/strong> Bazen eski bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcnde (bu rehberde Ubuntu 20.04 olmas\u0131na ra\u011fmen) yeni bir Git s\u00fcr\u00fcm\u00fcne ihtiyac\u0131n\u0131z olabilir ve paket y\u00f6neticisi bunu sa\u011flam\u0131yorsa, kaynaktan kurulum tek yol olabilir.<\/p>\n<h3>\u00d6n Ko\u015fullar ve Sistem G\u00fcncelleme<\/h3>\n<p>Git&#8217;i kaynaktan derlemeye ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan ve gerekli derleme ara\u00e7lar\u0131na sahip oldu\u011fundan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, derleme i\u015flemi s\u0131ras\u0131nda olas\u0131 hatalar\u0131 \u00f6nlemek i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, sisteminizdeki mevcut paket listesini g\u00fcncelleyelim ve y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltelim. Bu, yeni ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklerken \u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemeye yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, paket indeksinizi g\u00fcnceller ve ard\u0131ndan mevcut t\u00fcm paketleri onay gerektirmeden y\u00fckseltir (<code>-y<\/code> bayra\u011f\u0131 sayesinde).<\/p>\n<h4>Gerekli Derleme Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 Kurma<\/h4>\n<p>Git&#8217;i kaynaktan derlemek i\u00e7in bir dizi derleme arac\u0131 ve k\u00fct\u00fcphaneye ihtiyac\u0131m\u0131z var. Bunlar genellikle <code>build-essential<\/code> paketi alt\u0131nda toplanan derleyiciler (GCC gibi), <code>make<\/code> arac\u0131 ve \u00e7e\u015fitli geli\u015ftirme k\u00fct\u00fcphanelerini i\u00e7erir.<\/p>\n<p>A\u015fa\u011f\u0131daki komut, Git&#8217;i derlemek i\u00e7in gereken t\u00fcm temel ba\u011f\u0131ml\u0131l\u0131klar\u0131 kuracakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt install build-essential libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext cmake perl-modules -y<\/code><\/pre>\n<p>Bu komutta yer alan paketlerin her birinin k\u0131sa bir a\u00e7\u0131klamas\u0131n\u0131 yapal\u0131m:<\/p>\n<p>*   <strong><code>build-essential<\/code><\/strong>: C\/C++ derleyicisi (GCC), <code>make<\/code> program\u0131 ve di\u011fer temel derleme ara\u00e7lar\u0131n\u0131 i\u00e7eren bir meta-paket. Herhangi bir yaz\u0131l\u0131m\u0131 kaynaktan derlemek i\u00e7in olmazsa olmazd\u0131r.<br \/>\n*   <strong><code>libssl-dev<\/code><\/strong>: OpenSSL geli\u015ftirme k\u00fct\u00fcphaneleri. Git&#8217;in HTTPS protokol\u00fc \u00fczerinden uzak depolara ba\u011flanabilmesi i\u00e7in SSL\/TLS deste\u011fi sa\u011flar.<br \/>\n*   <strong><code>libghc-zlib-dev<\/code><\/strong>: Zlib s\u0131k\u0131\u015ft\u0131rma k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131. Git, nesneleri s\u0131k\u0131\u015ft\u0131rmak i\u00e7in zlib kullan\u0131r.<br \/>\n*   <strong><code>libcurl4-gnutls-dev<\/code><\/strong>: cURL k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131 (GNU TLS deste\u011fi ile). Git, uzak depolardan veri almak ve g\u00f6ndermek i\u00e7in cURL&#8217;\u00fc kullan\u0131r.<br \/>\n*   <strong><code>libexpat1-dev<\/code><\/strong>: Expat XML ayr\u0131\u015ft\u0131r\u0131c\u0131s\u0131n\u0131n geli\u015ftirme dosyalar\u0131. Git, baz\u0131 yap\u0131land\u0131rma dosyalar\u0131 veya harici ara\u00e7lar i\u00e7in XML i\u015fleme yetene\u011fine ihtiya\u00e7 duyabilir.<br \/>\n*   <strong><code>gettext<\/code><\/strong>: Uluslararas\u0131la\u015ft\u0131rma ve yerelle\u015ftirme i\u00e7in kullan\u0131lan bir ara\u00e7 tak\u0131m\u0131. Git&#8217;in farkl\u0131 dillerde mesajlar g\u00f6sterebilmesi i\u00e7in gereklidir.<br \/>\n*   <strong><code>cmake<\/code><\/strong>: Geli\u015fmi\u015f derleme sistemi. Git&#8217;in baz\u0131 bile\u015fenleri veya ba\u011f\u0131ml\u0131l\u0131klar\u0131 CMake ile derlenebilir.<br \/>\n*   <strong><code>perl-modules<\/code><\/strong>: Git&#8217;in baz\u0131 yard\u0131mc\u0131 betikleri ve dahili i\u015flevleri Perl ile yaz\u0131lm\u0131\u015ft\u0131r. Bu paket, Perl mod\u00fcllerini sa\u011flar.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sisteminiz Git&#8217;i kaynaktan derlemek i\u00e7in haz\u0131r hale gelmi\u015f olacakt\u0131r.<\/p>\n<h3>Git Kaynak Kodunu \u0130ndirme<\/h3>\n<p>\u015eimdi s\u0131ra Git&#8217;in kaynak kodunu resmi depodan indirmeye geldi. En g\u00fcncel kararl\u0131 s\u00fcr\u00fcm\u00fc indirmek her zaman iyi bir uygulamad\u0131r.<\/p>\n<h4>Git S\u00fcr\u00fcm\u00fcn\u00fc Belirleme<\/h4>\n<p>Git&#8217;in resmi web sitesi veya Kernel.org&#8217;daki Git ar\u015fivleri, mevcut t\u00fcm s\u00fcr\u00fcmleri listeler. En son kararl\u0131 s\u00fcr\u00fcm\u00fc bulmak i\u00e7in genellikle <code>https:\/\/www.kernel.org\/pub\/software\/scm\/git\/<\/code> adresini ziyaret edebilirsiniz. Bu rehber yaz\u0131ld\u0131\u011f\u0131 s\u0131rada, en son kararl\u0131 s\u00fcr\u00fcm 2.45.0 idi. Siz bu ad\u0131mlar\u0131 uygularken daha yeni bir s\u00fcr\u00fcm mevcut olabilir. Her zaman en son kararl\u0131 s\u00fcr\u00fcm\u00fc se\u00e7meye \u00f6zen g\u00f6sterin.<\/p>\n<p>\u00d6rne\u011fin, <code>git-2.45.0.tar.gz<\/code> gibi bir dosya ad\u0131 arayacaks\u0131n\u0131z.<\/p>\n<h4>Kaynak Kodunu \u0130ndirme<\/h4>\n<p>Kaynak kodunu indirmek i\u00e7in <code>wget<\/code> veya <code>curl<\/code> komutunu kullanabilirsiniz. Tercih edilen ve genellikle mevcut olan <code>wget<\/code> komutunu kullanal\u0131m.<\/p>\n<p>\u0130lk olarak, indirilen dosyalar\u0131 d\u00fczenli tutmak i\u00e7in bir dizin olu\u015ftural\u0131m ve bu dizine ge\u00e7elim:<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/git-source\ncd ~\/git-source<\/code><\/pre>\n<p>\u015eimdi, se\u00e7ti\u011finiz Git s\u00fcr\u00fcm\u00fcn\u00fcn kaynak kodunu indirin. Bu \u00f6rnekte 2.45.0 s\u00fcr\u00fcm\u00fcn\u00fc kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/www.kernel.org\/pub\/software\/scm\/git\/git-2.45.0.tar.gz<\/code><\/pre>\n<p>\u0130ndirme i\u015flemi tamamland\u0131ktan sonra, s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ar\u015fivi a\u00e7mam\u0131z gerekiyor:<\/p>\n<pre><code class=\"language-bash\">tar -xf git-2.45.0.tar.gz<\/code><\/pre>\n<p>Bu komut, <code>git-2.45.0<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve t\u00fcm kaynak dosyalar\u0131n\u0131 bu dizine \u00e7\u0131karacakt\u0131r. \u015eimdi bu dizine ge\u00e7i\u015f yap\u0131n:<\/p>\n<pre><code class=\"language-bash\">cd git-2.45.0<\/code><\/pre>\n<p>Art\u0131k Git&#8217;in kaynak kod dizinindesiniz ve derleme i\u015flemine haz\u0131rs\u0131n\u0131z.<\/p>\n<h3>Git&#8217;i Derleme ve Kurulum<\/h3>\n<p>Kaynak kodu indirdikten ve dizine ge\u00e7tikten sonra, Git&#8217;i derleme ve sisteminize kurma ad\u0131mlar\u0131na ge\u00e7ebiliriz. Bu s\u00fcre\u00e7, \u00fc\u00e7 ana ad\u0131mdan olu\u015fur: yap\u0131land\u0131rma (<code>configure<\/code>), derleme (<code>make<\/code>) ve kurulum (<code>make install<\/code>).<\/p>\n<h4>Yap\u0131land\u0131rma (Configure)<\/h4>\n<p><code>configure<\/code> beti\u011fi, sisteminizi kontrol eder, gerekli k\u00fct\u00fcphaneleri ve ara\u00e7lar\u0131 bulur ve derleme i\u00e7in uygun <code>Makefile<\/code> dosyalar\u0131n\u0131 olu\u015fturur. Bu ad\u0131mda, Git&#8217;in nas\u0131l derlenece\u011fine dair \u00e7e\u015fitli se\u00e7enekler belirleyebilirsiniz.<\/p>\n<p>En basit haliyle, herhangi bir \u00f6zel se\u00e7enek belirtmeden <code>configure<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">.\/configure<\/code><\/pre>\n<p>Ancak, Git&#8217;i daha spesifik bir \u015fekilde yap\u0131land\u0131rmak isteyebilirsiniz. \u0130\u015fte yayg\u0131n olarak kullan\u0131lan baz\u0131 se\u00e7enekler:<\/p>\n<p>*   <strong><code>--prefix=\/usr\/local<\/code><\/strong>: Git&#8217;in nereye kurulaca\u011f\u0131n\u0131 belirtir. Varsay\u0131lan olarak <code>\/usr\/local<\/code> dizinine kurulur, bu da sistem \u00e7ap\u0131nda eri\u015filebilir ancak paket y\u00f6neticisi taraf\u0131ndan y\u00f6netilmeyen yaz\u0131l\u0131mlar i\u00e7in standart bir konumdur. E\u011fer ba\u015fka bir yere kurmak isterseniz, bu se\u00e7ene\u011fi de\u011fi\u015ftirebilirsiniz (\u00f6rne\u011fin, <code>--prefix=\/opt\/git<\/code>).<br \/>\n*   <strong><code>--with-openssl<\/code><\/strong>: Git&#8217;in OpenSSL yerine GnuTLS gibi ba\u015fka bir SSL\/TLS k\u00fct\u00fcphanesi kullanmas\u0131n\u0131 sa\u011flamak i\u00e7in veya OpenSSL&#8217;i a\u00e7\u0131k\u00e7a belirtmek i\u00e7in kullan\u0131l\u0131r. Genellikle varsay\u0131lan olarak do\u011fru k\u00fct\u00fcphaneyi bulur.<br \/>\n*   <strong><code>--with-perl<\/code><\/strong>: Git&#8217;in Perl betiklerini kullanmas\u0131n\u0131 sa\u011flar. Zaten <code>perl-modules<\/code> kurdu\u011fumuz i\u00e7in bu genellikle otomatik olarak alg\u0131lan\u0131r.<\/p>\n<p>Varsay\u0131lan kurulum yolu \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in idealdir. Bu nedenle, genellikle ek se\u00e7eneklere gerek kalmaz.<\/p>\n<pre><code class=\"language-bash\">.\/configure<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131, sisteminizdeki \u00e7e\u015fitli bile\u015fenlerin tespit edildi\u011fini ve derleme i\u00e7in haz\u0131rland\u0131\u011f\u0131n\u0131 g\u00f6steren bir\u00e7ok sat\u0131r i\u00e7erecektir. Herhangi bir hata mesaj\u0131 g\u00f6rmedi\u011finizden emin olun.<\/p>\n<h4>Derleme (Make)<\/h4>\n<p>Yap\u0131land\u0131rma tamamland\u0131ktan ve <code>Makefile<\/code> dosyalar\u0131 olu\u015fturulduktan sonra, kaynak kodunu derlemek i\u00e7in <code>make<\/code> komutunu kullan\u0131r\u0131z. Bu ad\u0131m, kaynak kodunu \u00e7al\u0131\u015ft\u0131r\u0131labilir ikili dosyalara d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<\/p>\n<pre><code class=\"language-bash\">make<\/code><\/pre>\n<p>Bu komut, bilgisayar\u0131n\u0131z\u0131n i\u015flemci g\u00fcc\u00fcne ba\u011fl\u0131 olarak birka\u00e7 dakika s\u00fcrebilir. Derleme s\u00fcresini h\u0131zland\u0131rmak i\u00e7in, i\u015flemcinizin \u00e7ekirdek say\u0131s\u0131n\u0131 belirterek paralel derleme yapabilirsiniz. \u00d6rne\u011fin, 4 \u00e7ekirdekli bir i\u015flemciniz varsa:<\/p>\n<pre><code class=\"language-bash\">make -j4<\/code><\/pre>\n<p><code>make<\/code> komutunun \u00e7\u0131kt\u0131s\u0131 da bir\u00e7ok derleme mesaj\u0131 i\u00e7erecektir. \u00d6nemli olan, i\u015flem sonunda herhangi bir &#8220;error&#8221; (hata) mesaj\u0131 olmamas\u0131d\u0131r.<\/p>\n<h4>Kurulum (Make Install)<\/h4>\n<p>Derleme i\u015flemi ba\u015far\u0131yla tamamland\u0131ktan sonra, Git&#8217;i sisteminize kurmak i\u00e7in <code>make install<\/code> komutunu kullan\u0131r\u0131z. Bu komut, derlenmi\u015f ikili dosyalar\u0131, man sayfalar\u0131n\u0131 ve di\u011fer ilgili dosyalar\u0131 <code>--prefix<\/code> ile belirtilen hedef dizine kopyalar.<\/p>\n<p>Kurulum i\u015flemi sistem dosyalar\u0131n\u0131 de\u011fi\u015ftirece\u011fi i\u00e7in s\u00fcper kullan\u0131c\u0131 yetkileri gerektirir:<\/p>\n<pre><code class=\"language-bash\">sudo make install<\/code><\/pre>\n<p>Bu komut, Git ikili dosyalar\u0131n\u0131 (\u00f6rne\u011fin <code>\/usr\/local\/bin\/git<\/code>), man sayfalar\u0131n\u0131 (<code>\/usr\/local\/share\/man\/man1\/git.1<\/code>) ve di\u011fer yard\u0131mc\u0131 dosyalar\u0131 ilgili dizinlere kopyalayacakt\u0131r.<\/p>\n<h3>Kurulumu Do\u011frulama<\/h3>\n<p>Git&#8217;i ba\u015far\u0131yla kurdu\u011funuzdan emin olmak i\u00e7in, kurulumu do\u011frulaman\u0131z \u00f6nemlidir.<\/p>\n<h4>Git S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Etme<\/h4>\n<p>Kurulumun en basit do\u011frulamas\u0131, Git&#8217;in s\u00fcr\u00fcm\u00fcn\u00fc kontrol etmektir:<\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, \u00e7\u0131kt\u0131da az \u00f6nce kurdu\u011funuz Git s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6rmelisiniz (\u00f6rne\u011fin, <code>git version 2.45.0<\/code>). E\u011fer eski bir s\u00fcr\u00fcm g\u00f6r\u00fcyorsan\u0131z veya <code>git: command not found<\/code> gibi bir hata al\u0131yorsan\u0131z, PATH de\u011fi\u015fkeninizi veya kurulum yolunuzu kontrol etmeniz gerekebilir.<\/p>\n<h4>PATH Ortam De\u011fi\u015fkeni<\/h4>\n<p>Varsay\u0131lan olarak, <code>\/usr\/local\/bin<\/code> dizini genellikle sisteminizin PATH ortam de\u011fi\u015fkenine eklenmi\u015ftir. Bu, terminalin bu dizindeki \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyalar\u0131 bulabilece\u011fi anlam\u0131na gelir. Ancak, e\u011fer <code>--prefix<\/code> ile farkl\u0131 bir yol belirtmi\u015fseniz (\u00f6rne\u011fin <code>\/opt\/git<\/code>), bu yolu PATH&#8217;inize manuel olarak eklemeniz gerekebilir.<\/p>\n<p>PATH&#8217;inizi kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">echo $PATH<\/code><\/pre>\n<p>E\u011fer <code>\/usr\/local\/bin<\/code> \u00e7\u0131kt\u0131da g\u00f6r\u00fcn\u00fcyorsa, sorun yok demektir. E\u011fer farkl\u0131 bir yola kurduysan\u0131z ve bu yol PATH&#8217;inizde yoksa, a\u015fa\u011f\u0131daki gibi ekleyebilirsiniz (\u00f6rne\u011fin <code>\/opt\/git\/bin<\/code> i\u00e7in):<\/p>\n<pre><code class=\"language-bash\">echo 'export PATH=\"\/opt\/git\/bin:$PATH\"' >> ~\/.bashrc\nsource ~\/.bashrc<\/code><\/pre>\n<p>Bu komutlar, belirtilen yolu <code>.bashrc<\/code> dosyan\u0131za ekler ve ard\u0131ndan terminalinizi yeniden y\u00fckler, b\u00f6ylece de\u011fi\u015fiklikler hemen etkili olur.<\/p>\n<h4>Temel Git Komutlar\u0131n\u0131 Test Etme<\/h4>\n<p>Kurulumun d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in birka\u00e7 temel Git komutu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">git init my_new_repo\ncd my_new_repo\ngit status<\/code><\/pre>\n<p>Bu komutlar, yeni bir Git deposu ba\u015flatacak ve durumunu g\u00f6sterecektir. E\u011fer bu komutlar sorunsuz \u00e7al\u0131\u015f\u0131yorsa, Git kurulumunuz ba\u015far\u0131l\u0131 demektir.<\/p>\n<h3>Kurulum Sonras\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Git&#8217;i kullanmaya ba\u015flamadan \u00f6nce, kimli\u011finizi ve tercihlerinizi ayarlamak iyi bir uygulamad\u0131r. Bu bilgiler, yapt\u0131\u011f\u0131n\u0131z her commit&#8217;e eklenir.<\/p>\n<h4>Kullan\u0131c\u0131 Ad\u0131 ve E-posta Ayarlama<\/h4>\n<p>Her commit&#8217;in bir yazar bilgisi i\u00e7ermesi gerekti\u011finden, Git&#8217;e kim oldu\u011funuzu s\u00f6ylemeniz gerekir:<\/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\"<\/code><\/pre>\n<p><code>--global<\/code> bayra\u011f\u0131, bu ayarlar\u0131n t\u00fcm Git depolar\u0131n\u0131z i\u00e7in ge\u00e7erli olmas\u0131n\u0131 sa\u011flar. Tek bir depo i\u00e7in farkl\u0131 ayarlar yapmak isterseniz, <code>--global<\/code> bayra\u011f\u0131n\u0131 kullanmadan depo dizini i\u00e7inde bu komutlar\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>Varsay\u0131lan Metin D\u00fczenleyiciyi Ayarlama<\/h4>\n<p>Git, commit mesajlar\u0131 gibi baz\u0131 i\u015flemler i\u00e7in bir metin d\u00fczenleyiciye ihtiya\u00e7 duyar. Varsay\u0131lan olarak <code>vi<\/code> veya <code>vim<\/code> kullan\u0131l\u0131r, ancak tercihinize g\u00f6re ba\u015fka bir d\u00fczenleyiciyi ayarlayabilirsiniz (\u00f6rne\u011fin <code>nano<\/code>):<\/p>\n<pre><code class=\"language-bash\">git config --global core.editor \"nano\"<\/code><\/pre>\n<h4>Kimlik Bilgisi Yard\u0131mc\u0131s\u0131n\u0131 Yap\u0131land\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>Uzak depolara (GitHub, GitLab vb.) her eri\u015fti\u011finizde kullan\u0131c\u0131 ad\u0131 ve parolan\u0131z\u0131 tekrar tekrar girmekten ka\u00e7\u0131nmak i\u00e7in bir kimlik bilgisi yard\u0131mc\u0131s\u0131 ayarlayabilirsiniz. En yayg\u0131n olan\u0131, kimlik bilgilerini bellekte k\u0131sa bir s\u00fcre saklayan <code>cache<\/code> veya daha kal\u0131c\u0131 olarak diskte saklayan <code>store<\/code> yard\u0131mc\u0131s\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\"># Kimlik bilgilerini 15 dakika boyunca bellekte saklar\ngit config --global credential.helper cache --timeout=900\n\n<h2>Kimlik bilgilerini \u015fifrelenmemi\u015f olarak diskte saklar (g\u00fcvenli de\u011fil, dikkatli kullan\u0131n)<\/h2>\n<h2>git config --global credential.helper store<\/code><\/pre>\n<\/h2>\n<p><code>store<\/code> yard\u0131mc\u0131s\u0131n\u0131 kullanmak genellikle \u00f6nerilmez \u00e7\u00fcnk\u00fc kimlik bilgilerinizi d\u00fcz metin olarak saklar. Daha g\u00fcvenli bir alternatif, i\u015fletim sisteminizin anahtar zincirini (keyring) kullanan bir yard\u0131mc\u0131 yap\u0131land\u0131rmakt\u0131r, ancak bu, ek ba\u011f\u0131ml\u0131l\u0131klar ve kurulum gerektirebilir (\u00f6rne\u011fin <code>git-credential-libsecret<\/code>).<\/p>\n<h3>Git&#8217;i Kaynaktan G\u00fcncelleme<\/h3>\n<p>Git&#8217;i kaynaktan kurdu\u011funuzda, gelecekte yeni bir s\u00fcr\u00fcm \u00e7\u0131kt\u0131\u011f\u0131nda g\u00fcncelleme i\u015flemini manuel olarak yapman\u0131z gerekir. Bu s\u00fcre\u00e7, ilk kurulum ad\u0131mlar\u0131na benzer:<\/p>\n<p>1.  <strong>Yeni Kaynak Kodunu \u0130ndirme:<\/strong> Git&#8217;in resmi sitesinden en son kararl\u0131 s\u00fcr\u00fcm\u00fcn <code>tar.gz<\/code> dosyas\u0131n\u0131 indirin.<br \/>\n2.  <strong>Eski Dizinleri Temizleme:<\/strong> \u00d6nceki Git kaynak dizininden \u00e7\u0131k\u0131n ve yeni kaynak kodunu a\u00e7aca\u011f\u0131n\u0131z temiz bir dizin olu\u015fturun.<br \/>\n3.  <strong>Derleme ve Kurulum:<\/strong> Yeni kaynak kodunu a\u00e7\u0131n, dizine ge\u00e7in ve yukar\u0131daki ad\u0131mlar\u0131 tekrarlay\u0131n: <code>.\/configure<\/code>, <code>make<\/code>, <code>sudo make install<\/code>.<\/p>\n<p>Genellikle, yeni s\u00fcr\u00fcm\u00fc mevcut s\u00fcr\u00fcm\u00fcn \u00fczerine kurmak sorun yaratmaz, ancak emin olmak i\u00e7in eski kaynak dizinini yedekleyebilir veya tamamen kald\u0131rabilirsiniz.<\/p>\n<h3>Git&#8217;i Kaynaktan Kald\u0131rma<\/h3>\n<p>E\u011fer Git&#8217;i kaynaktan kurduktan sonra kald\u0131rmak isterseniz, bu i\u015flem de manuel olarak yap\u0131lmal\u0131d\u0131r. E\u011fer <code>make install<\/code> komutuyla kurduysan\u0131z, genellikle kaynak dizininde bir <code>uninstall<\/code> hedefi bulunur.<\/p>\n<p>1.  <strong>Kaynak Dizinine Geri D\u00f6nme:<\/strong> Git&#8217;i kurmak i\u00e7in kulland\u0131\u011f\u0131n\u0131z kaynak dizinine geri d\u00f6n\u00fcn (\u00f6rne\u011fin <code>~\/git-source\/git-2.45.0<\/code>).<br \/>\n2.  <strong>Kald\u0131rma Komutunu \u00c7al\u0131\u015ft\u0131rma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo make uninstall<\/code><\/pre>\n<p>    Bu komut, <code>make install<\/code> taraf\u0131ndan kopyalanan dosyalar\u0131 sisteminizden kald\u0131racakt\u0131r.<\/p>\n<p>E\u011fer <code>make uninstall<\/code> komutu \u00e7al\u0131\u015fmazsa veya kaynak dizinini kaybettiyseniz, Git&#8217;in kuruldu\u011fu dizinleri manuel olarak temizlemeniz gerekebilir. Varsay\u0131lan olarak, Git dosyalar\u0131 <code>\/usr\/local\/bin<\/code>, <code>\/usr\/local\/share\/man\/man1<\/code> ve <code>\/usr\/local\/libexec\/git-core<\/code> gibi yerlere kopyalan\u0131r. Bu dosyalar\u0131 dikkatlice manuel olarak silebilirsiniz, ancak yanl\u0131\u015f dosyalar\u0131 silmemeye \u00f6zen g\u00f6sterin.<\/p>\n<pre><code class=\"language-bash\"># \u00d6rnek manuel kald\u0131rma (dikkatli olun!)\nsudo rm \/usr\/local\/bin\/git\nsudo rm -rf \/usr\/local\/libexec\/git-core\nsudo rm \/usr\/local\/share\/man\/man1\/git*\n<h2>Ve di\u011fer ilgili dosyalar...<\/code><\/pre>\n<\/h2>\n<p>Manuel kald\u0131rma riskli olabilece\u011fi i\u00e7in, m\u00fcmk\u00fcnse her zaman <code>make uninstall<\/code> kullanmaya \u00e7al\u0131\u015f\u0131n.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Kaynaktan kurulum s\u00fcreci bazen beklenmedik sorunlarla kar\u015f\u0131la\u015fman\u0131za neden olabilir. \u0130\u015fte baz\u0131 yayg\u0131n sorunlar ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>1. Ba\u011f\u0131ml\u0131l\u0131k Eksiklikleri<\/h4>\n<p><strong>Sorun:<\/strong> <code>.\/configure<\/code> veya <code>make<\/code> komutlar\u0131 \u00e7al\u0131\u015f\u0131rken &#8220;missing header file&#8221; (eksik ba\u015fl\u0131k dosyas\u0131) veya &#8220;library not found&#8221; (k\u00fct\u00fcphane bulunamad\u0131) gibi hatalar al\u0131yorsunuz.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle gerekli bir geli\u015ftirme k\u00fct\u00fcphanesinin (dev paketi) eksik oldu\u011fu anlam\u0131na gelir. Hata mesaj\u0131nda belirtilen k\u00fct\u00fcphaneyi veya ilgili <code>dev<\/code> paketini <code>sudo apt install <paket-ad\u0131>-dev<\/code> komutuyla kurun. Yukar\u0131daki &#8220;Gerekli Derleme Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 Kurma&#8221; b\u00f6l\u00fcm\u00fcndeki listeyi tekrar kontrol edin.<\/p>\n<h4>2. \u0130zin Hatalar\u0131<\/h4>\n<p><strong>Sorun:<\/strong> <code>sudo make install<\/code> komutu s\u0131ras\u0131nda &#8220;permission denied&#8221; (izin reddedildi) gibi hatalar al\u0131yorsunuz.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>make install<\/code> komutu sistem dizinlerine yazma yetkisi gerektirir. <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. E\u011fer hala hata al\u0131yorsan\u0131z, hedef dizinin (\u00f6rne\u011fin <code>\/usr\/local<\/code>) izinlerini kontrol edin.<\/p>\n<h4>3. PATH Ortam De\u011fi\u015fkeni Sorunlar\u0131<\/h4>\n<p><strong>Sorun:<\/strong> <code>git --version<\/code> komutu <code>git: command not found<\/code> hatas\u0131 veriyor.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong> Git&#8217;in y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n bulundu\u011fu dizin (varsay\u0131lan olarak <code>\/usr\/local\/bin<\/code>) sisteminizin PATH ortam de\u011fi\u015fkeninde de\u011fil. &#8220;PATH Ortam De\u011fi\u015fkeni&#8221; b\u00f6l\u00fcm\u00fcndeki ad\u0131mlar\u0131 izleyerek bu dizini PATH&#8217;inize ekleyin ve terminalinizi yeniden ba\u015flat\u0131n (<code>source ~\/.bashrc<\/code>).<\/p>\n<h4>4. Derleme Hatalar\u0131<\/h4>\n<p><strong>Sorun:<\/strong> <code>make<\/code> komutu s\u0131ras\u0131nda derleme hatalar\u0131 al\u0131yorsunuz.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n*   Hata mesajlar\u0131n\u0131 dikkatlice okuyun. Genellikle hangi dosyan\u0131n veya k\u00fct\u00fcphanenin sorun \u00e7\u0131kard\u0131\u011f\u0131n\u0131 belirtirler.<br \/>\n*   T\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n do\u011fru \u015fekilde kuruldu\u011fundan emin olun.<br \/>\n*   Sisteminizin g\u00fcncel oldu\u011fundan emin olun (<code>sudo apt update && sudo apt upgrade<\/code>).<br \/>\n*   Farkl\u0131 bir Git s\u00fcr\u00fcm\u00fcn\u00fc denemeyi d\u00fc\u015f\u00fcn\u00fcn; bazen belirli bir s\u00fcr\u00fcmde bilinen derleme sorunlar\u0131 olabilir.<br \/>\n*   <code>make clean<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak \u00f6nceki derleme \u00e7\u0131kt\u0131lar\u0131n\u0131 temizleyebilir ve derleme i\u015flemini ba\u015ftan ba\u015flatabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">make clean\n.\/configure\nmake\nsudo make install<\/code><\/pre>\n<h4>5. Eski Git S\u00fcr\u00fcm\u00fcn\u00fcn Y\u00fcklenmesi<\/h4>\n<p><strong>Sorun:<\/strong> <code>git --version<\/code> komutu, kaynaktan kurdu\u011funuz s\u00fcr\u00fcm yerine hala eski bir Git s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6steriyor.<br \/>\n<strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n*   PATH ortam de\u011fi\u015fkeninizi kontrol edin. Eski Git s\u00fcr\u00fcm\u00fcn\u00fcn yolu, yeni Git s\u00fcr\u00fcm\u00fcn\u00fcn yolundan \u00f6nce geliyorsa, sistem eski s\u00fcr\u00fcm\u00fc bulur. Yeni Git&#8217;in yolunu PATH&#8217;in ba\u015f\u0131na ekleyin.<br \/>\n*   Eski Git&#8217;i paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kurduysan\u0131z (<code>apt install git<\/code>), eski s\u00fcr\u00fcm\u00fc kald\u0131r\u0131n: <code>sudo apt remove git<\/code> ve <code>sudo apt autoremove<\/code>. Ard\u0131ndan PATH&#8217;inizi g\u00fcncelleyin.<\/p>\n<h3>Kaynaktan Kurulumun Avantajlar\u0131 ve Dezavantajlar\u0131<\/h3>\n<p>Git&#8217;i kaynaktan kurman\u0131n kendine g\u00f6re art\u0131lar\u0131 ve eksileri vard\u0131r:<\/p>\n<h4>Avantajlar\u0131:<\/h4>\n<p>*   <strong>En G\u00fcncel S\u00fcr\u00fcm:<\/strong> Her zaman en son kararl\u0131 Git s\u00fcr\u00fcm\u00fcn\u00fc kullanabilirsiniz, bu da en yeni \u00f6zelliklere ve g\u00fcvenlik yamalar\u0131na eri\u015fim anlam\u0131na gelir.<br \/>\n*   <strong>Tam Kontrol:<\/strong> Kurulum yolunu, derleme se\u00e7eneklerini ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 tamamen kontrol edebilirsiniz.<br \/>\n*   <strong>Esneklik:<\/strong> Belirli bir Git s\u00fcr\u00fcm\u00fcne ihtiyac\u0131n\u0131z oldu\u011funda veya mevcut depolarda bulunmayan bir s\u00fcr\u00fcm\u00fc kullanman\u0131z gerekti\u011finde idealdir.<br \/>\n*   <strong>E\u011fitici:<\/strong> Linux sistemlerinde yaz\u0131l\u0131m derleme ve paket y\u00f6netimi hakk\u0131nda bilgi edinmek i\u00e7in harika bir yoldur.<\/p>\n<h4>Dezavantajlar\u0131:<\/h4>\n<p>*   <strong>Daha Karma\u015f\u0131k:<\/strong> Paket y\u00f6neticisi ile kurmaktan daha fazla ad\u0131m ve teknik bilgi gerektirir.<br \/>\n*   <strong>Manuel G\u00fcncellemeler:<\/strong> Yeni bir Git s\u00fcr\u00fcm\u00fc \u00e7\u0131kt\u0131\u011f\u0131nda, g\u00fcncelleme i\u015flemini manuel olarak tekrarlaman\u0131z gerekir. Paket y\u00f6neticisi otomatik olarak g\u00fcncelleme sa\u011flamaz.<br \/>\n*   <strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Ba\u011f\u0131ml\u0131l\u0131klar\u0131 manuel olarak kurman\u0131z ve y\u00f6netmeniz gerekir. Eksik bir ba\u011f\u0131ml\u0131l\u0131k derleme hatalar\u0131na yol a\u00e7abilir.<br \/>\n*   <strong>Potansiyel \u00c7ak\u0131\u015fmalar:<\/strong> E\u011fer sisteminizde zaten bir Git s\u00fcr\u00fcm\u00fc varsa (\u00f6rne\u011fin <code>apt<\/code> ile kurulmu\u015f), kaynaktan kurulan s\u00fcr\u00fcmle PATH \u00e7ak\u0131\u015fmalar\u0131 ya\u015fanabilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Ubuntu 20.04 sisteminizde Git&#8217;i kaynaktan nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Ba\u015flang\u0131\u00e7ta gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 kurmaktan, Git kaynak kodunu indirip derlemeye ve son olarak kurulumu do\u011frulamaya kadar t\u00fcm s\u00fcreci ele ald\u0131k. Ayr\u0131ca, kurulum sonras\u0131 yap\u0131land\u0131rma, g\u00fcncelleme, kald\u0131rma ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara \u00e7\u00f6z\u00fcmler hakk\u0131nda da bilgi edindiniz.<\/p>\n<p>Git&#8217;i kaynaktan kurmak, size en g\u00fcncel s\u00fcr\u00fcme eri\u015fim ve daha fazla kontrol sa\u011flarken, ayn\u0131 zamanda Linux sistem y\u00f6netimi becerilerinizi geli\u015ftirmenize yard\u0131mc\u0131 olan de\u011ferli bir deneyimdir. Her ne kadar <code>apt<\/code> ile kurulum \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in yeterli olsa da, bu y\u00f6ntem \u00f6zel ihtiya\u00e7lar\u0131 olan veya en son teknolojiyi takip etmek isteyenler i\u00e7in m\u00fckemmel bir alternatiftir. Art\u0131k Git&#8217;in t\u00fcm g\u00fc\u00e7l\u00fc \u00f6zelliklerini en g\u00fcncel haliyle kullanmaya haz\u0131rs\u0131n\u0131z!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\nGit, yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir","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":[1468],"tags":[],"class_list":{"0":"post-34777","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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&#039;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - 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\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Git&#039;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\" \/>\n<meta property=\"og:description\" content=\"Git&#039;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] Git, yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-21T20:40:45+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\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\",\"datePublished\":\"2025-11-21T20:40:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\"},\"wordCount\":3065,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\",\"name\":\"Git'i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-21T20:40:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\"}]},{\"@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'i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - 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\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/","og_locale":"tr_TR","og_type":"article","og_title":"Git'i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]","og_description":"Git'i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] Git, yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir","og_url":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-21T20:40:45+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\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]","datePublished":"2025-11-21T20:40:45+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/"},"wordCount":3065,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/","url":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/","name":"Git'i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-21T20:40:45+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/giti-kaynaktan-kurulumu-ubuntu-20-04-uzerinde-adim-adim-rehber-hizli-baslangic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Git&#8217;i Kaynaktan Kurulumu: Ubuntu 20.04 \u00dczerinde Ad\u0131m Ad\u0131m Rehber [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]"}]},{"@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\/34777","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=34777"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34777\/revisions"}],"predecessor-version":[{"id":34778,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34777\/revisions\/34778"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}