02/12/2021

Git -5

Ignore

Git ile sync edilmeyecek dosyaların listesidir.

Önce “.gitignore” dosyasını oluşturuyorum.

Bir dosya(ilk-gizli.txt) bir klasör(no-sync) ve klasörde iki dosya(gizlenmeyecek.txt, gizlenecek.txt) oluşturuyorum.

.gitignore ın içeriği

ilk-gizli.txt
no-sync/*
!no-sync/gizlenmeyecek.txt

gitignore içine yazdığımız dosyalar sync edilmeyecek (ilk-gizli.txt) ve klasörde (no-sync/) ama bazen tüm klasör dursun ama klasörden bir yada bir kaç dosya sync edilsin istersek önüne “!” kouyoruz.

git status ile baktığımızda.

PS C:\Users\can\gitea> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        no-sync/

nothing added to commit but untracked files present (use "git add" to track)

burada klasör sanki sync edilecekmiş gibi duruyor ancak aslında içinden bir dosya edilecek o nedenle.

şimdi eklediğimiz herşeyi git add ile staging edelim

git add no-sync/
git add .gitignore

ve duruma bakalım

PS C:\Users\can\gitea> git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   .gitignore
              new file:   no-sync/gizlenmeyecek.txt

görüldüğü gibi sadece istediğimiz dosyalar orada.

gitcommit – git push bitti 🙂

README

Proje hakkında bilgiler veren ve belirl standartları olan bir dosyadir.

Bu standartlar (yada formatting)

https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

ve tablo yapmada

https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables

detaylı olarak anlatılıyor.

STASH

Mesela bir dosya üzerinde çalışırken başka birşey yapmamız gerekti ama henüz ilk çalışmamız versiyon olmaya veya commite hazır değil. İşte bu durumda o anı kaydedip devam edebilmek için ayrı bir alana kaydederiz buna da stash denir.

Örnek çalıtığımız dosya

PS C:\Users\can\gitea> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        stashed-file.txt

nothing added to commit but untracked files present (use "git add" to track)

şimdi önce dosyayı add adip stage a alıyoruz sonra da save

PS C:\Users\can\gitea> git stash save "dosya duzenlendi"
Saved working directory and index state On master: dosya duzenlendi

birden çok stash ekleyebiliriz.

PS C:\Users\can\gitea> git stash list
stash@{0}: On master: 2nci dosya
stash@{1}: On master: dosya duzenlendi

burada {#} şeklinde gösterilen rakamlar stash numarasıdır ve son gelen her seferinde 0 a gelir, her yeni gelenle stash numarası mevcutların bir artar.

stash in bilgileri için

git stash show -p #

PS C:\Users\can\gitea> git stash show -p 0
diff --git a/stash2.txt b/stash2.txt
new file mode 100644
index 0000000..18ea46b
--- /dev/null
+++ b/stash2.txt
@@ -0,0 +1 @@
+bir dosya daha"

stash yapınca dosya özel bir alana kaldırılır görülmez geri getirmek için (rakam stash nosu)

PS C:\Users\can\gitea> git stash pop 1
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   stashed-file.txt

Dropped refs/stash@{1} (cd3364565337008d3c1173d041d2c97a3e25b12f)

Dosya artık klasörde görülür ve çalışılabilir push/commit yapılabilir veya silinebilir.
Silmek için

PS C:\Users\can\gitea> git stash drop 0
Dropped refs/stash@{0} (65e7d2e96d18bd4457473d32e1b3698b787c8a63)

Alias

Sürekli kullandığımız komutları kısaltmak için

git config –global alias.<shortcut> <command>

git config –global alias.st status –> artık status yerine st de yazabiliriz.

git cconfig –global.co ‘commit -m’ –> kombinasyonlarda mümkün

diff

bir dosyada yapılan değişklikleri görmek için

a – eski hali

b – yeni hali

PS C:\Users\can\gitea> git diff
warning: LF will be replaced by CRLF in fetch3.
The file will have its original line endings in your working directory
diff --git a/fetch3 b/fetch3
index 37ee1a6..77b7039 100644
--- a/fetch3
+++ b/fetch3
@@ -1 +1,3 @@
-pull=fetch+merge testi
\ No newline at end of file
+pull=fetch+merge testi
+bazi degisiklkler eklendi
+

checkout —

yapılan değişikliği geri almak için

PS C:\Users\can\gitea> 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:   fetch3

no changes added to commit (use "git add" and/or "git commit -a")
PS C:\Users\can\gitea> git checkout -- fetch3
PS C:\Users\can\gitea> git status
On branch master
nothing to commit, working tree clean

Leave a Reply