Git İşlemlerini Kod Satırından Gerçekleştirme

Git, Proje yönetiminde artık kodları ortak olarak paylaşmak için svn ve git teknolojileri iş hayatımızda daha fazla yer edinmeye başladı ve önemi artarak devam ediyor. Svn ve git teknolojilerini aracı yazılım ile yönetebilir yada kod satırından işlemleri gerçekleştirebilirsiniz.

Git işlemlerini kod satırından gerçekleştirme

Git işlemlerini kod satırından gerçekleştirme

Git Init

Komut satırından git projesi oluşturulacak ilk adım olan komuttur git projesini oluşturmak istediğiniz dizine komut satırından gidip ardından git init komutunu çalıştırın böylelikle gizli olarak .git adında bir klasör oluşturulur artık bu klasör üzerinden git işlemlerini gerçekleştirebiliriz. Benim işlem yapacağım klasör adı muratoner-test

C:\Users\muhac\Desktop\muratoner-test>git init

Git Add

Şimdi klasör içerisinde bir test.txt adında dosya oluşturalım. Ardından test.txt dosyası içerisine Hello World! diye bir satır ekleyin. git add komutu ile yapılan değişiklikleri yada dosyaları git’e ekleyebilirsiniz.

C:\Users\muhac\Desktop\muratoner-test>git add test.txt

Eğer birden fazla dosya eklenecekse o zaman arada boşluk bırakarak dosyalar uzantısı ile yazılmalı örnek: git add test.txt test2.txt gibi.


Git Status

Git projesiyle ilgili bazı bilgiler almamıza yarar örneğiz hangi branch’de çalışıldığı yada commit edilmesi gereken değişiklik varmı yada eklenecek dosya varmı gibi bilgiler alınabiliyor.

C:\Users\muhac\Desktop\muratoner-test>git status
On branch master
nothing to commit, working directory clean

Git Diff

Değişiklik yaptığınız veya başkaları tarafından yapılan değişiklikleri kod satırından görmek için git diff dosyaadi şeklinde bir sözdizimi kullanmalısınız.

C:\Users\muhac\Desktop\muratoner-test>git diff test.txt
diff --git a/test.txt b/test.txt
index bc186ac..9f9ef8c 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,5 @@
-murat
No newline at end of file
+
+murat
+
+
+oner
No newline at end of file

+ simgesi dosyaya eklenen satırları - işareti ise kaldırılan satırları göstermektedir.


Git Commit

Yapılan değişiklikleri iş akışına eklemek için commit edilmesi gerekiyor commit ederken yapılan değişiklikleri açıklamak veya bir mesaj eklemek için -m eki ardından tırnak içerisinde mesaj yazılmalıdır.

C:\Users\muhac\Desktop\muratoner-test>git commit -m “Mesaj buraya yazılacak.”
git commit -m “Complete first line of dialogue”
[master 8e7148c] Complete first line of dialogue
1 file changed, 5 insertions(+), 1 deletion(-)

Commit etmeden önce değişiklik yaptığınız yada eklemek istediğiniz dosyaları git add sözdizimi kullanarak işaretleyiniz.


Git Branch

Git’de dallandırma olarak geçen bu yapı genellikle versiyonlama, bugfix, master, develop, release gibi ayrımları farklı branch’ler altında yönetme böylelikle bugfix’lerin çözülmesi ayrı branch’lerden sağlandıktan sonra master branch’ine merge işlemi sağlanır diğer ek feature’ler için açılmış branch’lerden tamamlananlarda master’a merge edilir ve yeni bir sürüm çıkaracağında ise 2 seçenek vardır ya versiyonlayarak ilerler her bir versiyon için yeni bir branch açarsınız(Best Practices) yada release branch’ine merge işlemi gerçekleştirirsiniz böylelikle bugfix, feature development ve release’leriniz ayrı branch’lerde sağlıklı bir şekilde yürütülerek takım arkadaşlarına da engel olmadan geliştirmeler yapılmış olur.

git branch komutunu herhangi bir parametre girmeden çalıştırdığınızda reponuza tanımlı olan branch’ler listelenecektir.

git branch
* master

Üstte master yanında yer alan “*” işareti bu branch’in aktif olan branch olduğunu göstermektedir bu işaret ile hangi branch’de çalıştığınızı öğrenebiliyor olacaksınız.

Yeni bir branch oluşturmak için yapmanız gereken tek şey git branch <branchadi> komutunu çalışltırmaktır. <branchadi> yazan yere olmasını istediğiniz branch adını girin. Yeni oluşturduğunuz branch’e geçiş yapmak için ise Git Checkout komutunu kullanmalısınız.


Git Log

İş akışında yapılan değişiklikleri git log sözdizimi kullanarak kod satırında görüntüleyebilirisiniz.

C:\Users\muhac\Desktop\muratoner-test>git log
commit 8e7148c09347a3345f65d0bd34b449768a6ecd45
Author: Murat ÖNER <muhackgames@gmail.com>
Date: Tue Dec 8 13:20:52 2015 +0200
Complete first line of dialogue
commit 87fd3ace7bf9d5cead4dfc052ea8ee64d45b61f9
Author: Murat ÖNER <muhackgames@gmail.com>
Date: Tue Dec 8 09:27:52 2015 +0200
İlk yükleme

Git Checkout

Farklı bir commit yada brach’e geri dönmek yada geçiş yapmak için kullanılabilecek komuttur peki neden böyle birşeye ihtiyaç duyulur? Sebebi şöyle birşey olabilir yeni geliştirmelerinizde daha önceki commitlerinizde karşılaşmadığınız bir sorun ile karşılaştınız ve sorunun ne olduğunu tam olarak anlayamadınız bu durumda isterseniz iki farklı commit arasında bir compare işlemi gerçekleştirebilir yada direkt olarak çalıştığınız düşündüğünüz önceki bir commit’e geçiş yaparsınız bu geçiş işlemini yapmak için git checkout komutunu kullanmalısınız. Yalnız git checkout komutu bizden dönmek istediğimiz commit’in id’sine ihtiyaç duymaktadır. Bu kodu almak için bir üstteki konumuz olan Git Log komutunu kullanabilirsiniz. Örnek olarak ilk yükleme adındaki ve 87fd3ace7bf9d5cead4dfc052ea8ee64d45b61f9 id’li commit’e geri dönmek için alttaki checkout komutunu çalıştırmalısınız.

git checkout 87fd3ace7bf9d5cead4dfc052ea8ee64d45b61f9

Git Checkout komutu için üstte örnek genellikle commit üzerinden örnek verildi fakat farklı branch’ler arası geçişte sıkça kullanılır. Farklı bir branch’e geçiş yapmak için üstteki commit id yerine geçiş yapmak istediğiniz branch adını yazarsanız böylelikle ilgili branch’e geçiş sağlanır.


Git Show Head

En son yapılan commit’e ait status, diff bilgilerini almak için git show head sözdizimini kullanmalısınız.

C:\Users\muhac\Desktop\muratoner-test>git show HEAD
commit 8e7148c09347a3345f65d0bd34b449768a6ecd45
Author: Murat ÖNER <muhackgames@gmail.com>
Date: Tue Dec 8 13:20:52 2015 +0200
Complete first line of dialogue
diff --git a/test.txt b/test.txt
index bc186ac..717cde8 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,5 @@
-murat
No newline at end of file
+
+mura
+
+
+oner
No newline at end of file

Git Help

Git ile ilgili yardım almak için git --help sözdizimini kullanmalısınız.

C:\Users\muhac\Desktop\muratoner-test>git --help
usage: git [--version] [--help] [-C ] [-c name=value]
[--exec-path[=]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=] [--work-tree=] [--namespace=] []
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
checkout Switch branches or restore working tree files
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
merge Join two or more development histories together
rebase Forward-port local commits to the updated upstream head
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
‘git help -a’ and ‘git help -g’ list available subcommands and some
concept guides. See ‘git help’ or ‘git help ‘
to read about a specific subcommand or concept.

Repoyu Farklı Sunucuya Taşıma Yöntemi

Eğer reponuzu başka bir sunucuya taşıyacaksanız örnek veriyorum github’da yer alan bir projenizi eğer gitlab’a taşıyacaksanız alttaki kod bloklarını kendi repo adreslerinize göre düzenletip tüm commit, tags, branch’ler ile birlikte taşıma işlemini gerçekleştirebilirsiniz.

git clone --bare http://my.github.project.git
cd project.git
git push --mirror http://my.gitlab.project.git

Kaynak

Gerekli Olabilecek Bazı Bağlantılar

Kaynak Kod Yönetimi İle Alakalı Diğer Makaleler

Bir Cevap Yazın