Komutu kullanarak yanlışlıkla Git'e dosya ekledim:
git add myfile.txt
Henüz git commit
çalıştırmadım. Bunu geri almanın bir yolu var mı, böylece bu dosyalar commit'e dahil edilmeyecek mi?
ile commit etmeden önce git add
i geri alabilirsiniz
git reset <file>
Bu, başka hiçbir şeyi değiştirmeden geçerli dizinden ("about to be committed" listesi) kaldıracaktır.
Kullanabilirsiniz
git reset
tüm değişiklikleri geri almak için herhangi bir dosya adı olmadan. Bu, makul bir süre içinde tek tek listelenemeyecek kadar çok dosya olduğunda kullanışlı olabilir.
Git'in eski sürümlerinde, yukarıdaki komutlar sırasıyla git reset HEAD <file>
ve git reset HEAD
komutlarına eşdeğerdir ve HEAD
tanımsızsa (deponuzda henüz herhangi bir işlem yapmadığınız için) veya belirsizse (yapmamanız gereken aptalca bir şey olan HEAD
adında bir dal oluşturduğunuz için) başarısız olacaktır. Bu Git 1.8.2'de değiştirildi, bu nedenle Git'in modern sürümlerinde ilk commit'inizi yapmadan önce bile yukarıdaki komutları kullanabilirsiniz:
"git reset" (seçenekler veya parametreler olmadan) aşağıdaki durumlarda hata vermek için kullanılır geçmişinizde herhangi bir taahhüt yok, ancak şimdi size boş bir dizin (üzerinde bile olmadığınız var olmayan bir commit ile eşleşmek için).
Eğer yazarsan:
git status
Git size neyin aşamalı olduğunu vb. söyleyecek ve nasıl aşamasız hale getirileceğine ilişkin talimatları da içerecektir:
use "git reset HEAD <file>..." to unstage
Git'in bu gibi durumlarda doğru olanı yapmam için beni dürtme konusunda oldukça iyi bir iş çıkardığını düşünüyorum.
Not: Son Git sürümleri (1.8.4.x) bu mesajı değiştirmiştir:
(use "git rm --cached <file>..." to unstage)