Git'te tek bir dosyanın değişiklik geçmişini, nelerin değiştiğiyle birlikte tüm ayrıntılarıyla nasıl görüntüleyebilirim?
Buraya kadar geldim:
git log -- [filename]
bu da bana dosyanın commit geçmişini gösteriyor, ancak dosya değişikliklerinin her birinin içeriğine nasıl ulaşabilirim?
MS SourceSafe'den geçiş yapmaya çalışıyorum ve bu eskiden basit bir sağ tıklama
→ geçmişi göster
şeklindeydi.
Kullanabilirsiniz
git log -p filename
git'in her günlük girdisi için yamalar oluşturmasına izin vermek için.
Bkz.
git help log
daha fazla seçenek için - aslında pek çok güzel şey yapabilir :) Belirli bir işlemin sadece farkını almak için şunları yapabilirsiniz
git show HEAD
veya tanımlayıcıya göre başka herhangi bir revizyon. Veya kullanın
gitk
değişikliklere görsel olarak göz atmak için.
Bu durumda git whatchanged -p filename
aynı zamanda git log -p filename
ile eşdeğerdir.
Ayrıca git blame filename
ile bir dosyanın içindeki belirli bir kod satırının ne zaman değiştirildiğini de görebilirsiniz. Bu, dosyadaki her satır için kısa bir commit kimliği, yazar, zaman damgası ve tam kod satırını yazdıracaktır.
Bu, bir hata bulduğunuzda ve ne zaman ortaya çıktığını (veya kimin hatası olduğunu) bilmek istediğinizde çok kullanışlıdır.
Eğer git GUI kullanıyorsanız (Windows'ta) Repository menüsü altında "Visualize master's History" seçeneğini kullanabilirsiniz. Üst bölmede bir commit'i ve sağ altta bir dosyayı vurguladığınızda, sol altta bu commit'in farkını göreceksiniz.