Skip to content

Commit 567a8ad

Browse files
dschodscho
authored andcommitted
Merge branch 'book-tr' of bundle-tr/tr.bundle into hugo
2 parents feae773 + 45b7587 commit 567a8ad

File tree

899 files changed

+29194
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

899 files changed

+29194
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
redirect_to: book/tr/v2
4+
---
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
---
2+
### DO NOT EDIT! Generated by script/update-book2.rb
3+
category: book
4+
section: documentation
5+
subsection: book
6+
sidebar: book
7+
book:
8+
language_code: tr
9+
chapter:
10+
title: Başlangıç
11+
number: 1
12+
section:
13+
title: Git Nedir?
14+
number: 3
15+
cs_number: '1.3'
16+
previous: book/tr/v2/Başlangıç-Git’in-Kısa-Tarihçesi
17+
next: book/tr/v2/Başlangıç-Komut-Satırı
18+
title: Git - Git Nedir?
19+
url: "/book/tr/v2/Başlangıç-Git-Nedir?.html"
20+
aliases:
21+
- "/book/tr/v2/Başlangıç-Git-Nedir.html"
22+
---
23+
<h2 id="_git_nedir">Git Nedir?</h2>
24+
<div class="paragraph">
25+
<p>Özetle Git nedir?
26+
Bu, özümsemesi gerekli ve önemli olan bir bölümdür. Çünkü eğer Git’in ne olduğunu, temellerini ve nasıl çalıştığını iyi anlarsanız, Git’i etkili bir şekilde kullanmak da muhtemelen sizin için çok daha kolay olacaktır.
27+
Git’i öğrenirken, mümkün olduğunca diğer Sürüm Denetim Sistemleri’nden (CVS, Subversion veya Perforce gibi) bildiklerinizi aklınızdan çıkarmaya gayret edin ki Git’i daha berrak ve doğru şekilde öğrenip kullanabilesiniz.
28+
Git’in kullanıcı arayüzü diğer Sürüm Denetim Sistemleri’ne epey benzese de Git, bilgileri diğerlerinden çok daha farklı bir şekilde depolar ve bu bilgiler hakkında daha farklı düşünür. Bu yüzden bunun gibi farklılıkları anlamak Git’i kullanırken kafanızın karışmasını engeller.SubversionPerforce</p>
29+
</div>
30+
<div class="sect3">
31+
<h3 id="_farklılıklar_değil_anlık_pozlar">Farklılıklar Değil, Anlık Pozlar</h3>
32+
<div class="paragraph">
33+
<p>Git’in diğer herhangi bir VCS’den (Subversion ve benzerleri dahil olmak üzere) en büyük farkı, Git’in veriler hakkında düşünme şeklidir.
34+
Diğer çoğu sistem bilgileri dosya-bazlı değişim listesi şeklinde saklar.
35+
Bu diğer sistemler (CVS, Subversion, Perforce, Bazaar vd.) bilgileri dosya setleri ve o dosyalara zaman içinde yapılan değişiklikler şeklinde saklar (Bu genellikle <em>delta-bazlı</em> sürüm denetimi şeklinde tanımlanır).</p>
36+
</div>
37+
<div class="imageblock">
38+
<div class="content">
39+
<img src="{{< relurl "book/tr/v2/images/deltas.png" >}}" alt="Verileri her dosyanın baz halini referans alarak" width="yapılan değişiklikler şeklinde saklamak.">
40+
</div>
41+
<div class="title">Görsel 4. Verileri her dosyanın baz halini referans alarak, yapılan değişiklikler şeklinde saklamak.</div>
42+
</div>
43+
<div class="paragraph">
44+
<p>Git, veriler hakkında bu şekilde düşünmez ve onları bu şekilde saklamaz.
45+
Bunun yerine Git, verilerini daha çok minyatür dosya sistemlerinin anlık görüntüler serisi şeklinde düşünür ve o şekilde saklar.
46+
Git’le her katkı (katkı) işlediğinizde ya da projenizin durumunu kaydettiğinizde, Git kısaca tüm dosyalarınızın o an nasıl göründüğünün fotoğrafını çeker ve o anlık görünümün referansını saklar.
47+
Verimli olmak adına, eğer dosyalar değişmemişse Git o dosyaları tekrar saklamaz, onun yerine o dosyaların halihazırda saklandığı referansa bağlantı verir.
48+
Yani Git, verilerini daha çok <strong>anlık görüntü akışı</strong> (poz) olarak görür.</p>
49+
</div>
50+
<div class="imageblock">
51+
<div class="content">
52+
<img src="{{< relurl "book/tr/v2/images/snapshots.png" >}}" alt="Git zaman geçtikçe veriyi projenin pozları olarak saklar.">
53+
</div>
54+
<div class="title">Görsel 5. Veriyi projenin pozları olarak saklamak.</div>
55+
</div>
56+
<div class="paragraph">
57+
<p>Bu Git ve neredeyse diğer tüm VCS’leri arasındaki en büyük ayrımdır.
58+
Bu da Git’i, diğer sistemlerin kendilerinden önceki nesilden kopyaladıkları sürüm denetimi mirasını her yönünü yeniden değerlendirmesini sağlar.
59+
Böylelikle Git, basit bir VCS’dense, inanılmaz güçlü araçlarla donatılmış minyatür bir dosya sistemi olmuştur.
60+
Git’deki dallanmayı anlatırken verileriniz hakkında bu şekilde düşünmenin getirilerini keşfedeceğiz. <a href="{{< relurl "book/tr/v2/ch00/ch03-git-branching" >}}">Git Dalları</a></p>
61+
</div>
62+
</div>
63+
<div class="sect3">
64+
<h3 id="_neredeyse_her_i̇şlem_yereldir">Neredeyse Her İşlem Yereldir</h3>
65+
<div class="paragraph">
66+
<p>Git’deki çoğu işlem çalışmak için yalnızca yerel dosyalara ve kaynaklara ihtiyaç duyar. Genel olarak başka bir bilgisayardan sizin ağınıza bilgi gelmesine ihtiyacınız yoktur.
67+
Eğer çoğu işlemin ağ gecikme yüküne sahip olduğu bir CVCS’ye (Merkezî Versiyon Kontrol Sistemi) alışkınsanız; Git’in bu yönü size, Git’in Allah tarafından ilahi bir hız yeteneğiyle kutsadığını düşündürtecektir.
68+
Çünkü projenizin tüm tarihçesi tam olarak yerel diskinizdedir, ve çoğu işlem de neredeyse anında gerçekleşir.</p>
69+
</div>
70+
<div class="paragraph">
71+
<p>Örneğin, projenin tarihçesine göz atmak için Git’in sunucuya girip, tarihçeye erişip size göstermesine gerek yoktur, onun yerine hızlıca sizin yerel veritabanınızdan okur.
72+
Bu da proje tarihçesini neredeyse anında görebildiğiniz anlamına gelir.
73+
Eğer bir dosyanın mevcut sürümü ve bir ay önceki sürümü arasındaki değişiklikleri görmek isterseniz, Git, uzaktaki bir sunucuya bu işlemi yapması için başvurmak ya da dosyanın eski versiyonunu uzaktaki sunucudan çekip yerel diskte hesaplamak yerine, dosyanın bir ay önceki haline hızlıca göz atıp yerel bir farklılık hesaplaması yapar.</p>
74+
</div>
75+
<div class="paragraph">
76+
<p>Bu da çevrim dışı ya da VPN’sizseniz bile yapamayacağınız çok az şey olduğu anlamına geliyor.
77+
Eğer uçak ya da trenle seyahat ederken biraz çalışmak isterseniz, yerel ortamınızda çalışıp commitleyebilir (<em>yerel</em> kopyanıza) ve internet bağlantısı edindiğinizde de onu internete yükleyebilirsiniz.
78+
Eğer eve giderseniz ve VPN istemciniz düzgün bir şekilde çalışmazsa bile hâlâ yerel ortamınızda çalışabilirsiniz.
79+
Diğer çoğu sistemde ise bunları yapmak ya imkânsız ya da çok sancılıdır.
80+
Örneğin Perforce’de, eğer sunucuya bağlı değilseniz pek bir şey yapamazsınız. Subversion ve CVS’de ise dosyaları düzenleyebilir ama sunucuya commitleyemezsiniz (Çünkü sunucunuz çevrim dışıdır).
81+
Bu size şu an çok da önemli bir özellikmiş gibi gelmeyebilir ama Git’i öğrendikçe ve kullandıkça bunun ne kadar büyük bir fayda sağladığını bizzat göreceksiniz.</p>
82+
</div>
83+
</div>
84+
<div class="sect3">
85+
<h3 id="_gitin_entegrasyonu_vardır">Git’in Entegrasyonu Vardır</h3>
86+
<div class="paragraph">
87+
<p>Git’deki her şeyin saklanmadan önce sağlaması yapılır ve ondan sonra da o sağlamayla referans gösterilir.
88+
Bu da dosyaların ya da klasörlerin içeriğini Git’in haberi olmadan değiştirmenin imkânsız olduğu anlamına gelir.
89+
Bu işlev Git’in temelinde gömülü halde gelir ve Git felsefesinin ayrılmaz bir parçasıdır.
90+
Aktarım yaparken bilgi kaybetmezsiniz. Aynı şekilde Git farkına varmadan bir dosya da bozulmaz.</p>
91+
</div>
92+
<div class="paragraph">
93+
<p>Git’in sağlama yapmak için kullandığı bu mekanizmanın adı SHA-1 özetidir.
94+
Bu, on altılık karakterlerden (0-9 ve a–f) oluşan ve Git’deki bir dosya veya dizin yapısının içeriğine göre hesaplanan 40 karakterlik bir karakter dizisidir.
95+
Bir SHA-1 özeti şuna benzer:</p>
96+
</div>
97+
<div class="listingblock">
98+
<div class="content">
99+
<pre class="highlight"><code>24b9da6552252987aa493b52f8696cd6d3b00373</code></pre>
100+
</div>
101+
</div>
102+
<div class="paragraph">
103+
<p>Bu özet değerlerini Git’in çoğu yerinde göreceksiniz çünkü Git onu sık sık kullanır.
104+
Hatta Git, sunucusundaki her şeyi dosya isimleriyle değil, içeriklerinin özet değeriyle saklar.</p>
105+
</div>
106+
</div>
107+
<div class="sect3">
108+
<h3 id="_git_genel_olarak_sadece_veri_ekler">Git Genel Olarak Sadece Veri Ekler</h3>
109+
<div class="paragraph">
110+
<p>Git’de bir şeyler yaptığınızda neredeyse hepsi sadece Git’in veritabanına veri <em>ekler</em>.
111+
Sistemin geri alınamayan bir şey yapmasını veya verileri herhangi bir şekilde silmesini sağlamak zordur.
112+
Tüm VCS’lerde olduğu gibi, henüz işlemediğiniz değişiklikleri kaybedebilir veya karman çorman yapabilirsiniz, ancak Git’e bir anlık görünüm verdikten sonra (özellikle veritabanınızı düzenli olarak başka bir repoya yollarsanız) kaybetmek çok zordur.</p>
113+
</div>
114+
<div class="paragraph">
115+
<p>Bu da Git’i kullanmayı keyifli kılar, çünkü ortalığı batırma tehlikesi olmadan istediğimiz gibi denemeler yapabileceğimizi biliriz.
116+
Git’in verilerini nasıl sakladığını ve kaybolmuş gibi görünen dosyaları nasıl geri alabileceğinizi daha detaylı bir şekilde öğrenmek için: <a href="{{< relurl "book/tr/v2/ch00/_undoing" >}}">Değişiklikleri Geri Alma</a></p>
117+
</div>
118+
</div>
119+
<div class="sect3">
120+
<h3 id="_üç_durum">Üç Durum</h3>
121+
<div class="paragraph">
122+
<p>Eğer Git’i öğrenme sürecinizin sorunsuz olmasını istiyorsanız, şimdi dikkatinizi verin. Git hakkında akılda tutulacak ana şey şudur,
123+
Git’in dosyalarınızın içinde bulunabileceği üç ana durum vardır: <em>modified</em>, <em>staged</em>, and <em>committed</em>:</p>
124+
</div>
125+
<div class="ulist">
126+
<ul>
127+
<li>
128+
<p>Modified: dosyayı değiştirdiğinizi ama henüz veritabanına katkılamadığınızı (commit) gösterir.</p>
129+
</li>
130+
<li>
131+
<p>Staged: değiştirilmiş bir dosyayı bir sonraki katkı pozunda (snapshot) işlenecek şekilde işaretlediğinizi gösterir.</p>
132+
</li>
133+
<li>
134+
<p>Committed: dosyanın güvenli bir şekilde yerel veritabanınızda saklandığını gösterir.</p>
135+
</li>
136+
</ul>
137+
</div>
138+
<div class="paragraph">
139+
<p>Bu da bizi bir Git projesinin üç ana bölümüne getirir: the working tree (çalışma ağacı), the staging area (izleme alanı), ve Git klasörü.</p>
140+
</div>
141+
<div class="imageblock">
142+
<div class="content">
143+
<img src="{{< relurl "book/tr/v2/images/areas.png" >}}" alt="çalışma ağacı, izleme alanı ve Git klasörü">
144+
</div>
145+
<div class="title">Görsel 6. çalışma ağacı, izleme alanı ve Git klasörü.</div>
146+
</div>
147+
<div class="paragraph">
148+
<p>Çalışma ağacı (working tree), checkout komutunun projenin bir sürümünde çalıştırılmasıdır.
149+
Bu dosyalar Git dizinindeki sıkıştırılmış veritabanından çıkarılır ve sizin modifiye edebilmeniz veya kullanabilmeniz için diskinize yerleştirilir.</p>
150+
</div>
151+
<div class="paragraph">
152+
<p>İzleme alanı (staging area) bir dosyadır, genel olarak Git klasörünüzün içindedir ve bir sonraki katkıya hangi bilgilerin işleneceğini depolar.
153+
Git terminolojisindeki teknik adı ``index``dir, ama ``izleme alanı`` ifadesi de iş görür.</p>
154+
</div>
155+
<div class="paragraph">
156+
<p>Git klasörü ise Git’in projenize ait tüm üstverileri ve nesne veritabanını sakladığı yerdir.
157+
Bu Git’in en önemli bölümüdür; aynı zamanda da başka bir repodan <em>klon</em> kopyaladığınızda kopyalanan şeyin de ta kendisidir.</p>
158+
</div>
159+
<div class="paragraph">
160+
<p>Git’in iş akışı basitçe şöyledir:</p>
161+
</div>
162+
<div class="olist arabic">
163+
<ol class="arabic">
164+
<li>
165+
<p>Çalışma ağacında dosyaları düzenlersiniz.</p>
166+
</li>
167+
<li>
168+
<p>``git add …​`` komutuyla bir sonraki katkıya işlenecek olan değişiklikleri seçersiniz.</p>
169+
</li>
170+
<li>
171+
<p>``git commit …​`` komutuyla bir katkı işlersiniz, izleme alanındaki (stage) dosyaların pozlaını (snapshot) çeker ve Git klasörünüzde kalıcı olarak saklarsınız.</p>
172+
</li>
173+
</ol>
174+
</div>
175+
<div class="paragraph">
176+
<p>Eğer bir dosyanın belli bir sürümü Git klasöründeyse, o dosya <em>katkılanmış</em> sayılır (commited).
177+
Eğer düzenlenmiş ve izleme alanına eklenmişse, <em>izlem</em>'e alınmıştır (staged).
178+
Eğer son denetlenmesinden sonra değiştirilmişse ama işlenmemişse, o halde <em>değiştirilmiş</em> durumdadır (modified).
179+
<a href="{{< relurl "book/tr/v2/ch00/ch02-git-basics" >}}">Git Temelleri</a> bölümünde bu durumlar hakkında daha fazla şey öğrenecek ve bu durumların avantajını kullanmayı ya da izlem (stage) kısmını tamamen es geçmeyi öğreneceksiniz:</p>
180+
</div>
181+
</div>
182+
<div id="nav"><a href="{{< previous-section >}}">prev</a> | <a href="{{< next-section >}}">next</a></div>

0 commit comments

Comments
 (0)