Git bilindiği üzere sürüm kontrol sistemidir(SKS). Git dosyalarınızda, projenizde değişiklikleri kaydetmek, karşılaştırma yapmak ve istediğiniz sürüme geri dönebilmek için önemli bir araçtır.Git hakkında daha fazla bilgi edinmek için bakınız : Kaynak
Bir sorun olduğunda en son kimin değişiklik yaptığını, sorunun nereden kaynaklandığını görebileceğiniz , silinen değişiklikleri kurtarmak için tabiri caizse hayat kurtaran bir çok önemli git komutlarını bilmek gerekir.
Git temel komutları şunlardır :
Ben sıklıkla ihtiyaç duyduğum, önemli olan birkaç komut hakkında bilgi vereceğim. Hangi durumlarda ihtiyaç duyar ? Nasıl çözüme kavuşuruz ?
1. Öncelikle birçok kişinin birlikte yürüttüğü bir proje üzerinde çalışıyorsanız dikkat edilmesi gereken durumlar vardır. Projeyi çalıştırdınız, hata veya bir eksik fark ettiniz bunu düzeltmek isteyebilirsiniz. Peki ya biri bunu düzelttiyse ? Yapılan bir şeyi tekrar yapmak gereksizdir.Daha da önemlisi siz farklı yöntemle düzeltirsiniz aynı sayfa üzerinde çalışacağınız için çakışma olacak ve içinden çıkılmaz bir hal alacaktır. Merge olan bir projeden kolaylıkla geri alınamayan bir durumla karşılaşmış olacaksınız .
Bunun için ilk tavsiyem projenizin bulunduğu dizindeyken sizden önce yapılan değişiklikleri çekmek ve kontrol etmekte fayda var .
Bunu sağlayan komut :
3. Projenizi herhangi bir brancha resetlemek de ihtiyaç duyulan durumlardan birisidir. Bunun için de;
4. Çalıştığınız branch üzerinde push ettikten sonra başka değişiklikler yaptınız fakat her biri için her defasında farklı commit mesajları yazmak iyi fikir değildir. Çalışmanızı merge olmadan önce kontrol eden yetkililer birden fazla commit görmek pek istemezler bunun için;
Branchınızda her yaptığınız değişiklik için push ederken birden fazla commit kullanmış olabilirsiniz. Bunu sonradan düzeltmek isterseniz de şu komut;
5. Bir diğer önemli konu da Rebase işlemidir. Aynı dosya üzerinde çalışan kişilerin sıklıkla karşılaştığı can sıkıcı uğraştırıcı bir durumdur. Siz çalışmanızı yürütürken diğer arkadaşınızın tamamladığı kısım merge olmuşsa rebase yapmanız gerekir. Rebase için takip etmeniz gereken önemli adımlar şunlardır:
9.Push ederek tamamlıyoruz.
- git pull origin master
master projenizin merge olmuş içeriklerinin bulunduğu ana dizindir. Bu dizinden değişikleri bu komutla yerelimize çekiyoruz.
- git fetch origin master
komutu ile localimdeki değişikliklerle çektiğim değişiklikleri birleştir diyoruz.
2. Bir branch açtınız ve üzerinde çalışmanızı yürüttüğünüz esnada kullanmanız gereken bir şeye ihtiyaç duydunuz ve bunu sizin çalışmanız esnasında başka bir arkadaşınız halletmiş ve merge olmuşsa bunu çekmek istiyorsunuz, fakat işiniz bitmedi push etmediğiniz içinde pull edip kullanamıyorsunuz bu noktada imdadınıza stash yetişiyor. Stash değişiklikleri geçici olarak tutan farklı bir depolama alanıdır.
- git stash
- git stash pop
- git stash list
- git stash drop
- git stash pop stash@{1}
3. Projenizi herhangi bir brancha resetlemek de ihtiyaç duyulan durumlardan birisidir. Bunun için de;
- git reset--hard origin/master, origin/feature/12
4. Çalıştığınız branch üzerinde push ettikten sonra başka değişiklikler yaptınız fakat her biri için her defasında farklı commit mesajları yazmak iyi fikir değildir. Çalışmanızı merge olmadan önce kontrol eden yetkililer birden fazla commit görmek pek istemezler bunun için;
- git commit --amend
Branchınızda her yaptığınız değişiklik için push ederken birden fazla commit kullanmış olabilirsiniz. Bunu sonradan düzeltmek isterseniz de şu komut;
- git rebase -i HEAD~3
5. Bir diğer önemli konu da Rebase işlemidir. Aynı dosya üzerinde çalışan kişilerin sıklıkla karşılaştığı can sıkıcı uğraştırıcı bir durumdur. Siz çalışmanızı yürütürken diğer arkadaşınızın tamamladığı kısım merge olmuşsa rebase yapmanız gerekir. Rebase için takip etmeniz gereken önemli adımlar şunlardır:
1.Master branchına geçiyoruz:
- git checkout master
- git pull origin master
- git fetch origin master
- git checkout feature/test
- git rebase - -interactive origin master
- git status
- git add .
- git commit
- git rebase - - continue, git rebase - -abort
9.Push ederek tamamlıyoruz.
- git push -f origin feature/test
Hiç yorum yok:
Yorum Gönder