GIT Temel Kavramlar (2)
Temel kavramları öğrenmeye devam ediyoruz. “git status” ile durumu kontrol ederek başlayalım.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
No commits yet
Untracked files:
(use “git add <file>…” to include in what will be committed)
main.cpp
nothing added to commit but untracked files present (use “git add” to track)
Bu komutun çıktısını anladığımızda GIT işini çözmüş olacağız 🙂 branch-master branch-commit
Çalışma dizinimizde bir adet dosya vardı. Dizini GIT’ e tanıttık ve dizine izlenme yeteceği sağladık. Dizindeki dosyamız ise henüz GIT tarafından izlenmiyor. Dosyamızı GIT sistemine tanıtıyoruz ve izlenmesini söyleyeceğiz.
ozgur-MacBook-Pro:gitsample ozgurozkok$ clear
ozgur-MacBook-Pro:gitsample ozgurozkok$ git add main.cpp
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
No commits yet
Changes to be committed:
(use “git rm –cached <file>…” to unstage)
new file: main.cpp
GIT sistemi artık bu tek dosyamızı izliyor ve “değişiklikler var ama henüz commit etmediniz” diyor. Dosyada yaptığımız değişiklikleri sisteme “yaptık ve şu nedenle yaptık” diyerek bildireceğiz.
gitsample ozgurozkok$ git commit -m ‘dosyayı yaratırken yaptğım değişiklikler”
> git status
GIT kurulumunda kullanıcı girişi yapmadıysanız burada sizden kimlik girmenizi isteyecek.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git commit -m “dosyayı yaratırken yaptğım değişiklikler”
[master (root-commit) 02390c2] dosyayı yaratırken yaptğım değişiklikler
1 file changed, 5 insertions(+)
create mode 100644 main.cpp
COMMIT sırasında bir açıklama girdik. Tek başınıza dahi çalışıyor olsanız açıklamaları tam ve net giriniz. Takım çalışmasında bu zorunluyken , bireysel çalışırken işimize saygının sonucu olacaktır.
COMMIT mesajlarını baştan özenli girmeye alışınız.
STATUS ile durumu kontrol ediyoruz.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
nothing to commit, working tree clean
ozgur-MacBook-Pro:gitsample ozgurozkok$
Şimdi dosyamıza bir satır ekleyelim.
void main(){
printf(“merhaba dünya”);
printf(“ikinci mesajım”);
}
STATUS ile durumu kontrol edelim.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
Changes not staged for commit:
(use “git add <file>…” to update what will be committed)
(use “git restore <file>…” to discard changes in working directory)
modified: main.cpp
no changes added to commit (use “git add” and/or “git commit -a”)
Kodumuzda yapılan değişiklikleri bir önceki haline döndürebiliriz. Hemen deneyelim.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git restore main.cpp
Kodumuzu kontrol edersek eski haline geldiğini göreceğiz. STATUS ile kontrol edelim.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
nothing to commit, working tree clean
Şimdi tekrar değişiklikleri yapalım ve commit edelim.
void main(){
printf(“merhaba dünya”);
printf(“ikinci yeni mesajım”);
}
ozgur-MacBook-Pro:gitsample ozgurozkok$ git add main.cpp
ozgur-MacBook-Pro:gitsample ozgurozkok$ git commit -m “yeniden ekledim bi şeyler”
[master 4ef6ed1] yeniden ekledim bi şeyler
1 file changed, 2 insertions(+)
ozgur-MacBook-Pro:gitsample ozgurozkok$ git status
On branch master
nothing to commit, working tree clean
ozgur-MacBook-Pro:gitsample ozgurozkok$
COMMIT ile ilgili bir iyi alışkanlık daha var. “ Her zaman çalışır halini commit ediniz”. Elbetteki istsinaları olacaktır ama commit edilen kısımlar en azından compile olabilmek ve çalışabilmelidir.
Önemli bir komutumuz daha var. LOG ile yaptığımız değişiklikleri ayrıntılı olarak görebiliyoruz.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git log
commit 4ef6ed1945e69d98599eb0495cec0f53504d87cc (HEAD -> master)
Author: ozgurozkok <info@ozgurozkok.com>
Date: Sat Apr 18 18:29:51 2020 +0300
yeniden ekledim bi şeyler
commit 02390c20a21fcc0d2881d3d5cb4d404a97176af1
Author: ozgurozkok <info@ozgurozkok.com>
Date: Sat Apr 18 17:50:41 2020 +0300
dosyayı yaratırken yaptğım değişiklikler
ozgur-MacBook-Pro:gitsample ozgurozkok$
ozgur-MacBook-Pro:gitsample ozgurozkok$ git log
commit 4ef6ed1945e69d98599eb0495cec0f53504d87cc (HEAD -> master)
Author: ozgurozkok <info@ozgurozkok.com>
Date: Sat Apr 18 18:29:51 2020 +0300
yeniden ekledim bi şeyler
commit 02390c20a21fcc0d2881d3d5cb4d404a97176af1
Author: ozgurozkok <info@ozgurozkok.com>
Date: Sat Apr 18 17:50:41 2020 +0300
dosyayı yaratırken yaptğım değişiklikler
Her commit in yanında bir ID görüyoruz. Bu ID ile yaptığımız değişiklikleri görebiliyoruz. DIFF komutunu kullanmamız yeterlidir.
ozgur-MacBook-Pro:gitsample ozgurozkok$ git diff 02390c20a21fcc0d2881d3d5cb4d404a97176af1
diff –git a/main.cpp b/main.cpp
index 9a05a03..b459695 100644
— a/main.cpp
+++ b/main.cpp
@@ -2,4 +2,6 @@
void main(){
printf(“merhaba dünya”);
+
+ printf(“ikinci yeni mesajım”);
}
\ No newline at end of file
Her COMMIT ile bir kayıt noktası oluşuyor. Bu kayıt noktaları arasında kaynak kodumuzu döndürmek için CHECKOUT komutunu kullanıyoruz.