Bir dosyayı belirli bir revizyona nasıl sıfırlayabilir veya geri döndürebilirim?
Bir dosya grubunun parçası olarak birkaç kez işlenmiş bir dosyada bazı değişiklikler yaptım, ancak şimdi dosyadaki değişiklikleri önceki bir sürüme sıfırlamak/geri almak istiyorum.
İhtiyacım olan revizyonu bulmak için bir git log
ile birlikte bir git diff
yaptım, ancak dosyayı geçmişteki eski durumuna nasıl geri getireceğim konusunda hiçbir fikrim yok.
4219
3
Bu
foo
yu HEAD olarak sıfırlayacaktır. Ayrıca şunları da yapabilirsiniz:bir geri revizyon için, vb.
İlginçtir ki,
git checkout foo
çalışma kopyasıfoo
adlı bir dizindeyse çalışmaz; ancak hemgit checkout HEAD foo
hem degit checkout ./foo
çalışır:Bununla birlikte,
git checkout ./foo
vegit checkout HEAD ./foo
tam olarak** aynı şey değildir; örnek olarak:(İkinci
add
dizindeki dosyayı aşamalandırır, ancak almaz kararlı.)Git checkout ./foo
, index'ten./foo
yolunu geri döndürmek anlamına gelir; HEADeklenmesi Git'e dizindeki bu yolu kendi dizinine geri döndürmesi talimatını verir. Bunu yapmadan önce
HEAD` revizyonu.