Dağıtık Versiyon Kontrol Sistemleri‘nden biri olan Git için yönetim ortamı sunan github, bitbucket gibi sitelerin olması, açık kaynak dünyası tarafından tercih edilmesi sebebiyle her geçen gün daha popüler hale geliyor.
Git komutlarını anlamak açısından nasıl çalıştığına biraz daha yakından bakalım.
Dosya Silme
Commit'lediğimiz bir dosyayı silmek için:
Git rm dosya_adı git push kökenli bulunduğumuz_dal_ismi
|
Bu adım yapılan her değişikliğin uzak depoya gönderilebilmesi için yapılmalıdır. Ancak bu komut ile dosya silinir. Dosyayı geri döndürmek mümkün olmakla beraber dosya silindikten sonra commit mesajları tutulmaya devam eder.
Dosyayı geri döndürme ise dosyanın loglarının tutuluyor olması ile mümkündür.
Git revert silinen_dosya_log_id
Kayda Hazırlanmış Bir Dosyayı Hazırlık Alanından Kaldırmak
benchmarks.rb dosyasını hazırlık alanından kaldıralım:Git revert silinen_dosya_log_id
Kayda Hazırlanmış Bir Dosyayı Hazırlık Alanından Kaldırmak
$ git reset HEAD benchmarks.rb benchmarks.rb: locally modified
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
# modified: README.txt
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
# modified: benchmarks.rb
"benchmarks.rb" dosyası hazırlık alanından kaldırıldı ama hâlâ değişmiş olarak görünüyor.
Son Kayıt İşlemini Değiştirmek
Eğer kaydı çok erken yapmışsanız, bazı dosyaları eklemeyi unutmuşsanız ya da kayıt mesajında hata yapmışsanız, sık rastlanan düzeltme işlemlerinden birini kullanabilirsiniz. Kaydı değiştirmek isterseniz, commit komutunu --amend seçeneğiyle çalıştırabilirsiniz:
$ git commit --amend |
Değişmiş Durumda ki Bir Dosyayı Değişmemiş Duruma Geri Getirme
Tüm Kayıttan Bir Dosyayı Kaldırma
$ git checkout -- benchmarks.rb $ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # modified: README.txt
Gördüğünüz gibi değişiklikler çöpe atıldı. Bunun tehlikeli bir komut olduğunu aklınızdan çıkarmayınız. O dosyaya yaptığınız bütün değişiklikler şimdi yok oldu.
> $ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) Ref 'refs/heads/master' was rewritten
"passwords.txt" adlı dosyayı tüm geçmişten kaldırmak için filter-branch seçeneği olan "--tree-filter" kullanılabilir.
Git ve Github hakkında ki yazılarım devam edecek...Takipte kalınız...
Bu konuda ki daha önceki yazılarım:
Bu konuda ki daha önceki yazılarım:
0 Comments
Yorum Gönder