git checkout -pGeri döndürmek için çalışma kopyanız ile dizininiz arasındaki farktan tek tek parçalar seçmenize olanak tanıyan kullanabilirsiniz . Aynı şekilde, git add -pdizine eklenecek iri parçalar seçmenize git reset -pizin verir ve dizin ile HEAD arasındaki farktan dizinden çıkmak için ayrı ayrı öbekler seçmenize olanak tanır.
$ git checkout -p file/to/partially/revert
# or ...
$ git checkout -p .
Git deponuzu bu değişiklikleri geri almadan önce korumak için önceden anlık olarak çekmek istiyorsanız, şunu yapmayı seviyorum:
$ git stash; git stash apply
Bunu sık kullanırsanız, takma ad vermek isteyebilirsiniz:
[alias]
checkpoint = !git stash; git stash apply
İyi bir editör modu veya eklenti -pkullanırsanız, bazen kullanmak için biraz beceriksiz olabileceğinden , doğrudan geri döndürülecek satırları seçmek için destek sağlayabilecek tek tek iri parçaların veya satırların geri döndürülmesi daha da kolay olabilir . Git ile çalışmak için çok yararlı olan Emacs modu Magit kullanıyorum . Magit'te, magit-statusgeri almak istediğiniz değişikliklerin farklarını bulabilir, geri almak istediğiniz satırları seçebilir (veya imleci tek seferde bir iri geri almak istiyorsanız geri almak istediğiniz imlecin üzerine getirebilirsiniz. aynı anda bir satır) seçin ve kbu belirli satırları geri almak için tuşuna basın . Emacs kullanıyorsanız Magit'i tavsiye ederim.