Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set Format (note, tip, etc) #47

Closed
wants to merge 228 commits into from
Closed
Show file tree
Hide file tree
Changes from 206 commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
9deb675
Update nutshell.asc
murat-yasar Jan 23, 2024
37c3b86
Update nutshell.asc
murat-yasar Jan 24, 2024
148f31d
Update nutshell.asc
murat-yasar Jan 25, 2024
1cffc8f
Update basic-branching-and-merging.asc
murat-yasar Jan 25, 2024
b9921cb
Update getting-a-repository.asc
murat-yasar Jan 25, 2024
31a3668
Update recording-changes.asc
murat-yasar Jan 25, 2024
365f3b8
Update viewing-history.asc
murat-yasar Jan 25, 2024
be5dac9
Update undoing.asc
murat-yasar Jan 25, 2024
13cdfa7
Update remotes.asc
murat-yasar Jan 25, 2024
07c933b
Update tagging.asc
murat-yasar Jan 25, 2024
e5763bb
Update aliases.asc
murat-yasar Jan 25, 2024
4179576
Create summary.asc
murat-yasar Jan 25, 2024
e42fd9c
Update branch-management.asc
murat-yasar Jan 27, 2024
21d090f
Update remote-branches.asc
murat-yasar Jan 27, 2024
3204076
Update remote-branches.asc
murat-yasar Jan 29, 2024
f23898a
Update workflows.asc
murat-yasar Feb 1, 2024
b2d573b
Update workflows.asc
murat-yasar Feb 2, 2024
b5c3191
Update rebasing.asc
murat-yasar Feb 2, 2024
8a04e58
Update rebasing.asc
murat-yasar Feb 2, 2024
7b42304
Create summary.asc
murat-yasar Feb 2, 2024
c56cc99
Update basic-branching-and-merging.asc
murat-yasar Feb 2, 2024
c0fa358
Update remote-branches.asc
murat-yasar Feb 2, 2024
dda52fb
Create 04-server
murat-yasar Feb 2, 2024
7508561
Delete book/04-git-server/sections/04-server
murat-yasar Feb 2, 2024
adbcffc
Update protocols.asc
murat-yasar Feb 2, 2024
dab6a05
Update protocols.asc
murat-yasar Feb 4, 2024
f1da534
Update git-on-a-server.asc
murat-yasar Feb 4, 2024
2860f36
Update git-on-a-server.asc
murat-yasar Feb 4, 2024
48449f0
Update protocols.asc
murat-yasar Feb 4, 2024
b90a260
Update generating-ssh-key.asc
murat-yasar Feb 4, 2024
7a51cf3
Update aliases.asc
murat-yasar Feb 4, 2024
a59e503
Update getting-a-repository.asc
murat-yasar Feb 4, 2024
a424912
Update recording-changes.asc
murat-yasar Feb 4, 2024
98e9e23
Update remotes.asc
murat-yasar Feb 5, 2024
0b8fa2b
Update tagging.asc
murat-yasar Feb 5, 2024
f268a2d
Update undoing.asc
murat-yasar Feb 5, 2024
4cbd030
Update viewing-history.asc
murat-yasar Feb 5, 2024
cd44312
Update setting-up-server.asc
murat-yasar Feb 5, 2024
6fd4d4c
Update setting-up-server.asc
murat-yasar Feb 5, 2024
0503ccc
Update git-daemon.asc
murat-yasar Feb 5, 2024
5b9a938
Update smart-http.asc
murat-yasar Feb 5, 2024
28a4f74
Update smart-http.asc
murat-yasar Feb 5, 2024
01dbfd8
Update gitweb.asc
murat-yasar Feb 5, 2024
da6a3be
Update gitweb.asc
murat-yasar Feb 5, 2024
2503891
Update gitlab.asc
murat-yasar Feb 6, 2024
f79d752
Update hosted.asc
murat-yasar Feb 6, 2024
d0fd682
Create summary.asc
murat-yasar Feb 6, 2024
53c9bb6
Update distributed-workflows.asc
murat-yasar Feb 7, 2024
976f65b
Update contributing.asc
murat-yasar Feb 8, 2024
a4c4f23
Update generating-ssh-key.asc
murat-yasar Feb 8, 2024
922b026
Update gitlab.asc
murat-yasar Feb 8, 2024
60ce25b
Merge pull request #8 from murat-yasar/04.07
murat-yasar Feb 8, 2024
ddbde3e
Update generating-ssh-key.asc
murat-yasar Feb 8, 2024
baccdbe
Merge pull request #7 from murat-yasar/04.06
murat-yasar Feb 8, 2024
a7dd258
Merge pull request #5 from murat-yasar/04.04
murat-yasar Feb 8, 2024
7ed6186
Merge pull request #3 from murat-yasar/04.02
murat-yasar Feb 8, 2024
624e316
Update contributing.asc
murat-yasar Feb 9, 2024
555a6e4
Update contributing.asc
murat-yasar Feb 9, 2024
e05c2be
Update contributing.asc
murat-yasar Feb 9, 2024
5520698
Update contributing.asc
murat-yasar Feb 10, 2024
915c0c8
Update contributing.asc
murat-yasar Feb 10, 2024
7619e4f
Update contributing.asc
murat-yasar Feb 10, 2024
3edb00b
Update recording-changes.asc
murat-yasar Feb 10, 2024
1c04795
Update recording-changes.asc
murat-yasar Feb 10, 2024
c0ee743
Update recording-changes.asc
murat-yasar Feb 10, 2024
ca1d435
Update viewing-history.asc
murat-yasar Feb 10, 2024
fcc7b33
Update branch-management.asc
murat-yasar Feb 10, 2024
dbb3bae
Update nutshell.asc
murat-yasar Feb 10, 2024
11a7c65
Update nutshell.asc
murat-yasar Feb 10, 2024
d9b6033
Update rebasing.asc
murat-yasar Feb 10, 2024
3df99fd
Update remote-branches.asc
murat-yasar Feb 10, 2024
5020dc7
Update generating-ssh-key.asc
murat-yasar Feb 10, 2024
7be0770
Update git-daemon.asc
murat-yasar Feb 10, 2024
4d7626c
Update gitweb.asc
murat-yasar Feb 10, 2024
9e5b26b
Update setting-up-server.asc
murat-yasar Feb 10, 2024
80966a1
Update smart-http.asc
murat-yasar Feb 10, 2024
8f1c152
Update maintaining.asc
murat-yasar Feb 12, 2024
e366f0d
Update maintaining.asc
murat-yasar Feb 12, 2024
69f1d80
Update maintaining.asc
murat-yasar Feb 12, 2024
1ba46cc
Update maintaining.asc
murat-yasar Feb 12, 2024
c6fc671
Update maintaining.asc
murat-yasar Feb 13, 2024
3a42d11
Update maintaining.asc
murat-yasar Feb 13, 2024
a324b3d
Update maintaining.asc
murat-yasar Feb 14, 2024
c6b378e
Update 1-setting-up-account.asc
murat-yasar Feb 14, 2024
d259c4c
Update 1-setting-up-account.asc
murat-yasar Feb 14, 2024
a946c6e
Update 2-contributing.asc
murat-yasar Feb 14, 2024
de379af
Update 2-contributing.asc
murat-yasar Feb 15, 2024
257d67c
Update 2-contributing.asc
murat-yasar Feb 15, 2024
7cff790
Update 2-contributing.asc
murat-yasar Feb 19, 2024
22836d1
Update 3-contributing.asc
murat-yasar Feb 19, 2024
4fd8fb6
Update-contributing.asc
murat-yasar Feb 21, 2024
2f8d552
translate line:76
murat-yasar Feb 22, 2024
93a9f9e
translate up to line:120
murat-yasar Feb 22, 2024
86257ea
translate up to line:223
murat-yasar Feb 23, 2024
6dff27d
correct typos
murat-yasar Feb 23, 2024
a7a6a2e
Update translation
murat-yasar Feb 23, 2024
f91d150
translate up to line: 271
murat-yasar Feb 26, 2024
2ebe970
Translate up to line: 370
murat-yasar Feb 26, 2024
ece364c
Translate complete maintaining.asc
murat-yasar Feb 26, 2024
1c4ed66
correct typo
murat-yasar Feb 26, 2024
8ca67ca
Translate complete managing-organization.asc
murat-yasar Feb 26, 2024
a4f7cad
translate up to line: 37 - scripting.asc
murat-yasar Feb 27, 2024
0686747
Translate up to line: 170 - scripting.asc
murat-yasar Feb 28, 2024
7782f8f
Translate complete - scripting.asc
murat-yasar Feb 28, 2024
bfa08ae
Merge pull request #10 from murat-yasar/02-basics
murat-yasar Mar 4, 2024
0780a12
Merge pull request #11 from murat-yasar/03-branching
murat-yasar Mar 4, 2024
5c8b9ee
Merge pull request #12 from murat-yasar/04-server
murat-yasar Mar 4, 2024
a5bb1fc
Merge pull request #13 from murat-yasar/05-distributed
murat-yasar Mar 4, 2024
a3fdce5
Merge pull request #14 from murat-yasar/06-git
murat-yasar Mar 4, 2024
e696f11
Update about-version-control.asc
murat-yasar Mar 4, 2024
de7666c
Update command-line.asc
murat-yasar Mar 4, 2024
1abfe9e
Update about-version-control.asc
murat-yasar Mar 4, 2024
e918046
Update first-time-setup.asc
murat-yasar Mar 4, 2024
f1e95a2
Update about-version-control.asc
murat-yasar Mar 4, 2024
2b567bf
Update help.asc
murat-yasar Mar 4, 2024
1c0fc6c
Update history.asc
murat-yasar Mar 4, 2024
3d7812d
Update installing.asc
murat-yasar Mar 4, 2024
ca61577
Update what-is-git.asc
murat-yasar Mar 4, 2024
cf904f7
Update history.asc
murat-yasar Mar 4, 2024
5a7f7af
Update aliases.asc
murat-yasar Mar 4, 2024
9342261
Update getting-a-repository.asc
murat-yasar Mar 4, 2024
2b15ba9
Update recording-changes.asc
murat-yasar Mar 4, 2024
05cf29d
Update remotes.asc
murat-yasar Mar 4, 2024
62c742f
Delete book/02-git-basics/sections/summary.asc
murat-yasar Mar 4, 2024
47dfbc9
Update tagging.asc
murat-yasar Mar 5, 2024
92581d8
Update undoing.asc
murat-yasar Mar 5, 2024
cf8a66b
Update viewing-history.asc
murat-yasar Mar 5, 2024
45f469e
Update basic-branching-and-merging.asc
murat-yasar Mar 5, 2024
7dc4c9f
Update nutshell.asc
murat-yasar Mar 5, 2024
7c2840a
Update rebasing.asc
murat-yasar Mar 5, 2024
51b44dd
Update remote-branches.asc
murat-yasar Mar 6, 2024
9a78313
Update summary.asc
murat-yasar Mar 6, 2024
269b20a
Delete book/03-git-branching/sections/summary.asc
murat-yasar Mar 6, 2024
31905ab
Update workflows.asc
murat-yasar Mar 6, 2024
8dd1924
Update git-on-a-server.asc
murat-yasar Mar 6, 2024
9b2d811
Update gitlab.asc
murat-yasar Mar 6, 2024
a5faea2
Update hosted.asc
murat-yasar Mar 6, 2024
1cd1195
Update protocols.asc
murat-yasar Mar 6, 2024
670ca58
Delete book/04-git-server/sections/summary.asc
murat-yasar Mar 6, 2024
505506d
Update contributing.asc
murat-yasar Mar 6, 2024
4645ab4
Update distributed-workflows.asc
murat-yasar Mar 6, 2024
0b87f76
Update maintaining.asc
murat-yasar Mar 6, 2024
c354920
Update 3-maintaining.asc
murat-yasar Mar 7, 2024
b4d55f4
Translate revision-selection.asc up to line: 88
murat-yasar Mar 7, 2024
e3e5271
Translate revision-selection up to line: 182
murat-yasar Mar 11, 2024
a86edd5
Translate revision-selection.asc complete
murat-yasar Mar 11, 2024
a818ab1
Translate interactive-staging complete
murat-yasar Mar 11, 2024
316be1b
Merge pull request #15 from murat-yasar/07-Tools
murat-yasar Mar 11, 2024
e2259a9
Translate stashing-cleaning up to line: 20
murat-yasar Mar 11, 2024
3cf5883
fix typo
murat-yasar Mar 12, 2024
6bf7166
Merge pull request #16 from murat-yasar/01-start
murat-yasar Mar 12, 2024
4148349
Translate interactive-staging.asc
murat-yasar Mar 13, 2024
29ae99d
Translate stashing-cleaning.asc up to line:228
murat-yasar Mar 13, 2024
ae01da0
Translate complete: stashing-cleaning.asc
murat-yasar Mar 14, 2024
e31af99
Translate signing.asc
murat-yasar Mar 15, 2024
570ff5b
Translate complete: searching.asc
murat-yasar Mar 15, 2024
46e1fe4
Fix typos: revision-selection.asc
murat-yasar Mar 15, 2024
b2b8681
Fix typos: revision-selection.asc
murat-yasar Mar 15, 2024
5ee79bb
Fix typo #stashing-cleaning.asc
murat-yasar Mar 15, 2024
01baa03
Translate rewriting-history.asc up to line:71
murat-yasar Mar 15, 2024
4969387
Translate rewriting-history.asc up to line: 305
murat-yasar Mar 18, 2024
b77f82e
Translate complete: rewriting-history.asc
murat-yasar Mar 19, 2024
af63ee6
Translate reset.asc up to line: 105
murat-yasar Mar 20, 2024
0074b57
Translate reset.asc line:200
murat-yasar Mar 20, 2024
e3d0f03
Translate complete - reset.asc
murat-yasar Mar 21, 2024
4965ee7
Update reset.asc
murat-yasar Mar 21, 2024
9322401
Update signing.asc
murat-yasar Mar 21, 2024
ff549c9
Translate advanced-merging.asc up to line: 158
murat-yasar Mar 22, 2024
1080195
Translate advanced-merging.asc up to line: 465
murat-yasar Mar 22, 2024
e4bb85b
Update advanced-merging.asc
murat-yasar Mar 22, 2024
c927cc3
Translate complete: advanced-merging.asc
murat-yasar Mar 22, 2024
53be533
Merge pull request #17 from murat-yasar/07-Tools
murat-yasar Mar 22, 2024
06772d0
Translate complete: rerere.asc
murat-yasar Mar 25, 2024
79aa93b
Update debugging.asc
murat-yasar Mar 27, 2024
7a4f46c
Update debugging.asc
murat-yasar Mar 27, 2024
4c47309
Complete Translate debugging.asc
murat-yasar Mar 28, 2024
3fe1e6e
Merge pull request #18 from murat-yasar/07-Tools
murat-yasar Mar 28, 2024
273d64f
Translate submodules.asc line:20
murat-yasar Apr 2, 2024
75b5785
Translate submodules.asc line: 136
murat-yasar Apr 2, 2024
49547b7
Translate submodules.asc line:206
murat-yasar Apr 2, 2024
a4368be
Translate submodules.asc line:373
murat-yasar Apr 2, 2024
3441a6b
Translate submodules.asc line:482
murat-yasar Apr 3, 2024
ad573fb
Translate submodules.asc line:554
murat-yasar Apr 3, 2024
d2a27be
Translate submodules.asc line:682
murat-yasar Apr 3, 2024
b5ded1c
Complete submodules.asc
murat-yasar Apr 3, 2024
01c908c
Translate bundling.asc line:111
murat-yasar Apr 3, 2024
fd711c6
Complete Translate: bundling.asc
murat-yasar Apr 3, 2024
2bf22a3
Update first-time-setup.asc
murat-yasar Apr 7, 2024
09482c8
Update installing.asc
murat-yasar Apr 7, 2024
08c53a7
Update recording-changes.asc
murat-yasar Apr 7, 2024
61ea612
Update remotes.asc
murat-yasar Apr 7, 2024
0cd4194
Update tagging.asc
murat-yasar Apr 7, 2024
f072c3d
Update undoing.asc
murat-yasar Apr 7, 2024
114334d
Update viewing-history.asc
murat-yasar Apr 7, 2024
8058229
Update basic-branching-and-merging.asc
murat-yasar Apr 7, 2024
0762701
Update branch-management.asc
murat-yasar Apr 7, 2024
c57619f
Update nutshell.asc
murat-yasar Apr 7, 2024
c4b7da8
Update remote-branches.asc
murat-yasar Apr 7, 2024
476c0e7
Reset some markers: note, tip, important, warning, etc
Apr 7, 2024
53b9132
Merge remote-tracking branch 'origin/07-Tools'
Apr 7, 2024
a0a8d12
Reset file format
Apr 7, 2024
21f9d62
Solve merge conflict
Apr 7, 2024
b7f78b9
Translate replace.asc line:80
Apr 7, 2024
f3e2704
Translate complete: replace.asc
Apr 8, 2024
c1a3d96
Translate complete subtree-merges.asc
Apr 8, 2024
27a1e57
Translate complete: credentials.asc
murat-yasar Apr 8, 2024
a75da8b
Merge branch 'master' into master
murat-yasar Apr 8, 2024
af61a4f
Update recording-changes.asc
murat-yasar Apr 8, 2024
0732b18
Update undoing.asc
murat-yasar Apr 8, 2024
4b84964
Update viewing-history.asc
murat-yasar Apr 8, 2024
236ae6d
Update basic-branching-and-merging.asc
murat-yasar Apr 8, 2024
53ed654
Update nutshell.asc
murat-yasar Apr 8, 2024
49e52fd
Update setting-up-server.asc
murat-yasar Apr 8, 2024
0f91b13
Update setting-up-server.asc
murat-yasar Apr 8, 2024
9cc3186
Update contributing.asc
murat-yasar Apr 8, 2024
2ffebf7
Update 1-setting-up-account.asc
murat-yasar Apr 8, 2024
6006c5e
Update 2-contributing.asc
murat-yasar Apr 8, 2024
95ed45d
Update 3-maintaining.asc
murat-yasar Apr 8, 2024
e30a4c7
Update submodules.asc
murat-yasar Apr 8, 2024
0a0a8d8
Change format
Apr 8, 2024
0dbf080
Fix typo
Apr 8, 2024
0da9770
Update branch-management.asc
murat-yasar Apr 8, 2024
af96d02
Merge branch 'master' of https://github.com/murat-yasar/progit2-tr
Apr 8, 2024
6b5a097
Translate summary sections for chapters 2,3,5,6,7
Apr 11, 2024
60a29d5
Translate ch04 summary
Apr 11, 2024
a3b5fc0
Translate config.asc line:240
murat-yasar Apr 12, 2024
1a966af
Translate complete config.asc
murat-yasar Apr 12, 2024
aa76817
Merge pull request #19 from murat-yasar/08-customizing-git
murat-yasar Apr 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions book/01-introduction/sections/about-version-control.asc
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
=== Versiyon Kontrol
=== Sürüm Denetimi

(((version control)))
'Versiyon kontrol' nedir ve neden önemsenmelidir?
Versiyon kontrol, belirli versiyonların daha sonra çağrılabilmesi için zaman içerisinde bir dosya veya dosya grubundaki değişiklikleri kaydeden bir sistemdir.
Örneğin bu kitapta, versiyon kontrol için yazılım kodları kullanılacaktır fakat versiyon kontrol bilgisayardaki herhangi bir dosya türü için de kullanılabilir.
'Sürüm Denetimi' nedir ve neden önemsenmelidir?
Sürüm denetimi, belirli sürümlerin daha sonra çağrılabilmesi için zaman içerisinde bir dosya veya dosya grubundaki değişiklikleri kaydeden bir sistemdir.
Örneğin bu kitapta, sürüm denetimi için yazılım kodları kullanılacaktır fakat sürüm denetimi bilgisayardaki herhangi bir dosya türü için de kullanılabilir.

Eğer grafik ya da web tasarımcı iseniz ve çalıştığınız görüntü ya da tasarımların her bir değişikliklerini tutmak istiyorsanız (ki bu gerçekten istebilecek bir şeydir), Versiyon Kontrol Sistemi (VKS) akıllıca bir seçim olacaktır.
Versiyon Kontrol Sistemi, seçili dosyaların bir önceki versiyona (bir önceki değişiklik yapılmış duruma) döndürülmesi, projenin tamamının bir önceki versiyona döndürülmesi, zaman içerisinde yapılan değişikliklerin karşılaştırılması, probleme neden olabilecek değişikliklerin en son kimin tarafından yapıldığı, kim bir problemden ne zaman bahsetti gibi bir çok işlemin gerçekleştirilebilmesini sağlar.
Eğer grafik ya da tasarımcı iseniz ve çalıştığınız görüntü ya da tasarımların her bir değişikliklerini tutmak istiyorsanız (ki bu gerçekten istebilecek bir şeydir), Sürüm Denetim Sistemi (VCS: Version Control System) akıllıca bir seçim olacaktır.
Sürüm Denetim Sistemi, seçili dosyaların bir önceki sürüme (bir önceki duruma) döndürülmesi, projenin tamamının bir önceki sürüme döndürülmesi, zaman içerisinde yapılan değişikliklerin karşılaştırılması, probleme neden olabilecek değişikliklerin en son kimin tarafından yapıldığı, kim bir problemden ne zaman bahsetti gibi bir çok işlemin gerçekleştirilebilmesini sağlar.
Genel olarak VKS kullanmak, değişiklik yaptığınız dosyalar üzerinde bir şeyleri berbat ettiğinizde ya da bir şeyleri kaybettiğinizde kolayca geri getirebilmeniz anlamına gelmektedir.
Ayrıca VKS'nin tüm bu özelliklerini çok az bir iş yüküyle elde edersiniz.

==== Yerel Versiyon Kontrol Sistemleri
==== Yerel Sürüm Denetim Sistemleri

(((version control,local)))
Çoğu insanın versiyon kontrol metodu, ilgili dosyaları başka bir yere kopyalamaktır (Muhtemelen daha zeki olanları, klasör isimlendirmesinde zaman damgası kullanıyordur).
Çoğu insanın sürüm denetim yöntemi, ilgili dosyaları başka bir yere kopyalamaktır (Muhtemelen daha zeki olanları, klasör isimlendirmesinde zaman damgası kullanıyordur).
Bu yaklaşım basit olduğundan çok yaygındır fakat aynı zamanda inanılmaz derecede hataya açık bir yaklaşımdır.
Hangi dizinde bulunduğunuzu unutmak, yanlışlıkla yanlış dosya üzerine yazmak veya istemediğiniz dosyaların üzerine yazmak gibi ihtimallerin gerçekleşmesi çok olasıdır.

Tüm bu sorunlardan ötürü, uzun zaman önce geliştiriciler, yapılan tüm değişiklikleri gözden geçirilebilir parçalar halinde basit veritabanı üzerinde tutan yerel versiyon kontrol sistemlerini geliştirdiler.
Tüm bu sorunlardan ötürü, uzun zaman önce geliştiriciler, yapılan tüm değişiklikleri gözden geçirilebilir parçalar halinde basit veritabanı üzerinde tutan yerel sürüm denetim sistemlerini geliştirdiler.

.Yerel versiyon kontrol.
image::images/local.png[Yerel versiyon kontrol şeması]
.Yerel sürüm denetimi.
image::images/local.png[Yerel sürüm denetim şeması]

En popüler VKS araçları RCS adında bir sistemdi, ki kendisi bugün bile hâlâ pek çok bilgisayarda kullanılır.
En popüler VCS araçları RCS adında bir sistemdi, ki kendisi bugün bile hâlâ pek çok bilgisayarda kullanılır.
RCS yama setlerini (dosyalar arasındaki farklılıklar) disk üzerinde özel bir formatta tutarak çalışır; daha sonra tüm yamaları bir araya getirerek herhangi bir zamanda herhangi bir dosyanın nasıl göründüğüne bakarak onu yeniden oluşturabilir.

==== Merkezî Versiyon Kontrol Sistemleri
==== Merkezî Sürüm Denetim Sistemleri

(((version control,centralized)))
İnsanların karşılaştığı bir diğer büyük problemse diğer sistemlerdeki geliştiricilerle iş birliği yapmak zorunda kalmalarıydı.
Bu problemin çözümü olarak Merkezî Versiyon Kontrol Sistemleri (MVKS) geliştirildi.
Bu sistemler (CVS, Subversion ve Perforce gibi) bütün sürümlendirilmiş dosyaları barındıran tek bir sunucuya ve o sunucudaki dosyaları merkezî bir yerden sürekli denetleyen istemcilere sahipti. (((CVS)))(((Subversion)))(((Perforce)))
Uzun yıllar boyunca bu sistem, versiyon kontrol sistemleri için standart oldu.
Bu problemin çözümü olarak Merkezî Sürüm Denetim Sistemleri (CVCS: Central VCS) geliştirildi.
Bu sistemler (CVS, Subversion ve Perforce gibi) bütün sürümlendirilmiş dosyaları barındıran tek bir sunucuya ve o sunucudaki dosyaları tek merkezden sürekli denetleyen istemcilere sahipti. (((CVS)))(((Subversion)))(((Perforce)))
Uzun yıllar boyunca bu sistem, sürüm denetim sistemleri için standart oldu.

.Merkezî versiyon kontrol.
image::images/centralized.png[Merkezî versiyon kontrol şeması]
.Merkezî Sürüm Denetimi.
image::images/centralized.png[Merkezî sürüm denetim şeması]

Bu kurulum yerel VKS'lere kıyasla pek çok avantaj sunar.
Bu kurulum yerel VCS'lere kıyasla pek çok avantaj sunar.
Örneğin, projedeki herkes diğer herkesin projede ne yaptığını belli bir ölçüye kadar bilebilir.
Yöneticiler, kimin ne yapabileceği konusunda hassas bir kontrole sahiptir ve bir MVKS'yi yönetmek her istemcideki yerel veritabanlarıyla uğraşmaktan çok daha kolaydır.
Yöneticiler, kimin ne yapabileceği konusunda hassas bir kontrole sahiptir ve bir CVCS'yi yönetmek her istemcideki yerel veritabanlarıyla uğraşmaktan çok daha kolaydır.

Bununla birlikte bu kurulumun ciddi dezavantajları da vardır.
En bariz olanı merkezi sunucuların tek bir noktaya bağlı olmasıdır.
Eğer o sunucu bir saatliğine çökerse, çöktüğü andan itibaren hiç kimse hiç iş birliği yapamaz veya üzerinde çalışmakta oldukları herhangi bir şeye sürüm değişikliklerini kaydedemezler.
Eğer sunucu veritabanındaki harici disk bozulursa ve düzgün yedekleme yapılmamışsa, kullanıcıların kendi yerel makinelerinde tuttukları anlık durum dışında projenin tüm tarihini ve dosyalarını, yani her şeyi kaybedersiniz.
Yerel VKS'ler de aynı sorundan muzdariptir, projenin tüm tarihini ve dosyalarını tek bir yerde tuttuğunuz sürece, her şeyi kaybetme riskiniz vardır.

==== Dağıtık Versiyon Kontrol Sistemleri
==== Dağıtık Sürüm Denetim Sistemleri

(((version control,distributed)))
İşte tam da burada devreye Dağıtık Versiyon Kontrol Sistemleri (DVKS) giriyor.
Bir DVKS'de (Git, Mercurial, Bazaar ya da Darcs gibi) istemciler sadece dosyaların son anlık görünümünü denetlemezler, daha çok depoyu deponun tam tarihiyle birlikte yansıtırlar.
Dolayısıyla eğer herhangi bir sunucu devre dışı kalırsa, birbiriyle o sunucu aracılığıyla iş birliği yapan sistemlerdeki herhangi bir istemci deposu sunucuyu yenilemek için geri yüklenebilir.
İşte tam da burada devreye Dağıtık Sürüm Denetim Sistemleri (DVCS: Distributed VCS) giriyor.
Bir DVCS'de (Git, Mercurial, Bazaar ya da Darcs gibi) istemciler sadece dosyaların son anlık görünümünü denetlemezler, daha çok repoyu reponun tam tarihiyle birlikte yansıtırlar.
Dolayısıyla eğer herhangi bir sunucu devre dışı kalırsa, birbiriyle o sunucu aracılığıyla iş birliği yapan sistemlerdeki herhangi bir istemci reposu sunucuyu yenilemek için geri yüklenebilir.
Her klon, en nihayetinde tüm verilerin tam bir yedeğidir aslında.

.Dağıtık versiyon kontrol.
image::images/distributed.png[Dağıtık versiyon kontrol şeması]
.Dağıtık sürüm denetimi.
image::images/distributed.png[Dağıtık sürüm denetim şeması]

Ayrıca bu sistemlerin çoğu birden çok uzak depoyla çalışmayı rahatlıkla kaldırabilir, o yüzden farklı gruplardan insanlarla farklı yollarla eş zamanlı bir şekilde rahatlıkla iş birliği yapabilirsiniz.
Ayrıca bu sistemlerin çoğu birden çok uzak repoyla çalışmayı rahatlıkla kaldırabilir, o yüzden farklı gruplardan insanlarla farklı yollarla eş zamanlı bir şekilde rahatlıkla iş birliği yapabilirsiniz.
Bu da size hiyerarşik model gibi merkezi sistemlerde yapması mümkün olmayan birden çok iş akışı şekli tanımlama ve kullanma olanağı sağlar.
8 changes: 4 additions & 4 deletions book/01-introduction/sections/command-line.asc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
=== Komut Satırı

Git'i kullanmanın pek çok farklı yolu vardır.
Orijinal komut-satırlarının yanında, birbirinden çok farklı yeteneklere sahip grafiksel kullanıcı arayüzleri de vardır.
Orijinal komut-satırlarının yanında, birbirinden çok farklı yeteneklere sahip görsel kullanıcı arayüzleri de vardır.
Bu kitapta Git'i komut satırı üzerinden kullanacağız.
Özellikle bilmeniz gereken şey ise, komut satırında __tüm__ Git komutlarını çalıştırabiliyor olmanızdır. Çoğu GKA (grafiksel kullanıcı arayüzü) sadelik için Git'in fonksiyonlarının sadece belli başlı, küçük bir kısmını kullanmaya izin verir.
Özellikle bilmeniz gereken şey ise, komut satırında __tüm__ Git komutlarını çalıştırabiliyor olmanızdır. Çoğu GUI (Graphical User Interface: görsel kullanıcı arayüzü) sadelik için Git'in fonksiyonlarının sadece belli başlı, küçük bir kısmını kullanmaya izin verir.

Eğer komut satırını nasıl çalıştıracağınızı biliyorsanız muhtemelen GKA'nın nasıl çalıştırılabileceğini de bulabilirsiniz. Ancak bu durumun tersi her zaman geçerli olmayabilir.
Ayrıca kullanacağınız grafiksel istemci her ne kadar sizin kişisel zevkinize bağlı olsa da, __bütün__ kullanıcılar komut satırı araçlarını yüklemiş ve kullanmaya hazır durumda tutuyor olmalı.
Eğer komut satırını nasıl çalıştıracağınızı biliyorsanız muhtemelen GUI'nin nasıl çalıştırılabileceğini de bulabilirsiniz. Ancak bu durumun tersi her zaman geçerli olmayabilir.
Ayrıca kullanacağınız görsel istemci her ne kadar sizin kişisel zevkinize bağlı olsa da, __bütün__ kullanıcılar komut satırı araçlarını yüklemiş ve kullanmaya hazır durumda tutuyor olmalı.

O yüzden sizden macOS'daki Terminal'i ya da Windows'taki Komut İstemi'ni veya PowerShell'i nasıl açacağınızı biliyor olmanızı bekliyoruz.
Eğer neyden bahsettiğimizden bihaberseniz, burada biraz ara verip bu konuda araştırma yapıp kitabı öyle okumanızı öneririz. Aksi takdirde kitabın devamındaki açıklamaları ve örnekleri anlayamayabilirsiniz.
Loading