Yararlı Git Numaraları 2: Stash

Share Button

Bir iş üzerinde çalışırken aniden başka bir işe geçmeniz istendi ve yaptığınız değişiklikleri commit etmek istemiyorsunuz git stash komutunu kullanabilirsiniz.

Örnek:

$ git stash

Bu işlem sonunda indexlenen/indexde olmayan tüm değişiklikleriniz yerel bir bölgede repoya commit edilmeden, branch ın en son commit yorumu ile saklanır.

stash ile farklı branchlardan birden fazla değişikliği saklayabilirsiniz. Sakladığınız tüm değişikliklerin listesini görmek için git stash list kullanabilirsiniz.
Örnek:

$ git stash list

Çıktı:

stash@{0}: WIP on ab-802: 2042b39 ab-802 url routes updates.
stash@{1}: WIP on ab-856: 7188b7e ab-856 changed request xml of ykb return transaction

Spesifik bir saklama işlemine ait değişikliklerin listesini görmek için git stash show <stashid> kullanabilirsiniz.

Örnek:

$ git stash show stash@{0}

Çıktı:

  apps/product/management/commands/solrimport.py |   81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 apps/product/models.py                         |    6 +++---
 libs/solr/__init__.py                          |   13 ++++++++++--
 libs/solr/caster.py                            |   49 +++++++++++++++++++++++++++++++-------------
 requirements                                   |    4 +---
 5 files changed, 131 insertions(+), 22 deletions(-)

Daha önce yaptığınız spesifik bir saklama işlemini tekrar geri almak istiyorsanız git stash pop komutunu kullanabilirsiniz.

Örnek:

$ git stash pop stash@{1}

Çıktı:

 # On branch ab-802
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   apps/product/management/commands/solrimport.py
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   apps/product/models.py
#   modified:   libs/solr/__init__.py
#   modified:   libs/solr/caster.py
#   modified:   requirements
#
Dropped stash@{0} (d129b2d356782da4cf223d02de09e3e8655622fd)

pop komutu, sakladığınız değişiklikleri tekrar geri alarak saklama alanından kaldırır.

Bu işlemi aynı zamanda git stash apply komutunu kullanarak da gerçekleştirebilirsiniz. Apply komutu pop komutundan farklı olarak yapılan değişiklikleri yerel alanda saklamaya devam eder.

Share Button

About İbrahim Gündüz

1983 yılında İstanbul’da doğdu. İlkokul yıllarında cobol ve basic le olan tanışması, yazılıma olan ilgisini arttırdı 2005 yılında. Uludağ Üniversitesi Teknik Bilimler Meslek Yüksek Okulu Elektronik bölümünden mezun olan Gündüz, çeşitli alanlarda faaliyet gösteren kurumlarda yazılım geliştirici olarak görev almıştır. Mesleki ilgi alanları, ölçeklenebilir sistemler, uygulama entegrasyonları ve ödeme sistemleridir. Halen Markafoni back end geliştirici olarak çalışmaktadır.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir