Kendi cevabınızı tamamlamak için söz dizimi gerçekten
git show object
git show $REV:$FILE
git show somebranch:from/the/root/myfile.txt
git show HEAD^^^:test/test.py
Komut, normal revizyon stilini alır, yani aşağıdakilerden herhangi birini kullanabilirsiniz:
- şube adı ( kül tarafından önerildiği gibi )
HEAD
+ x ^
karakter sayısı
- Belirli bir revizyonun SHA1 karması
- Belirli bir SHA1 karmasının ilk birkaç (belki 5) karakteri
İpucu " git show
" kullanırken , her zaman geçerli dizin konumunuzu değil , deponun kökünden bir yol belirttiğinizi unutmayın.
( Mike Morearty , en azından git 1.7.5.4 ile, yolun ./
başına " " koyarak göreli bir yol belirtebileceğinizden bahsetmesine rağmen - örneğin:
git show HEAD^^:./test.py
)
Git 2.23+ (Ağustos 2019) ile, kafa karıştırıcı komutungit restore
yerini alacak olanı da kullanabilirsinizgit checkout
git restore -s <SHA1> -- afile
git restore -s somebranch -- afile
Bu, çalışma ağacına yalnızca "source" ( -s
) ' de mevcut olan dosyayı SHA1 veya dalda geri yükler somebranch
.
Dizini de geri yüklemek için:
git restore -s <SHA1> -SW -- afile
( -SW
: kısa --staged --worktree
)
Git1.5.x'ten önce, bu bazı sıhhi tesisatla yapıldı:
git ls-tree <rev>
bir taahhüt içinde bir veya daha fazla 'damla' nesnenin listesini göster
git cat-file blob <file-SHA1>
belirli bir düzeltme (svn cat'a benzer) içinde yapılmış bir dosyayı katıştırır. verilen bir dosya-sha1 değerini almak için git ls-tree kullanın
git cat-file -p $(git-ls-tree $REV $file | cut -d " " -f 3 | cut -f 1)::
git-ls-tree $ REV revizyonunda $ file nesne kimliğini listeler, bu çıktıdan kesilir ve git-cat-file için bir argüman olarak kullanılır ve gerçekten git-cat-object olarak adlandırılır ve basitçe dumps bu nesne stdout'a.
Not: Git 2.11'den (4. Çeyrek 2016) git cat-file
çıktıya bir içerik filtresi uygulayabilirsiniz !
Bkz 3214594 işlemek , 7bcf341 işlemek , (2016 09 Eyl) 7bcf341 taahhüt (2016 9 Eylül) ve b9e62f6 işlemek , 16dcc29 taahhüt tarafından (24 Eki 2016) Johannes Schindelin ( dscho
) .
(Göre Birleştirilmiş - Junio Cı Hamano gitster
- içinde 7889ed2 tamamlama 2016, 21 Eyl)
cat-file
: destek --textconv
/ --filters
toplu iş modunda
git hash-objects
Bir dosya sistemi veri akışı alıp Git nesne deposuna yerleştirmek için bir araç olan " ", "dünya dışı Git" dönüşümlerini (ör. Satır sonu dönüşümleri ve uygulama) gerçekleştirmesine izin verilmiş olsa da ve varsayılan olarak çok erken günlerden beri özelliği vardı, git cat-file
Git nesne deposundan bir nesneyi alıp dış dünyanın tüketimi için dışsallaşan ters işlemi " ", "Git-to-dış dünya"
git config diff.txt.textconv "tr A-Za-z N-ZA-Mn-za-m <"
git cat-file --textconv --batch
Not: " git cat-file --textconv
", Git 2.15'te (4. Çeyrek 2017) düzeltilen kısa bir süre önce segfaulting yapmaya başladı (2017).
Görmek . Jeff King ( peff
) tarafından cc0ea7c (21 Eyl 2017 ) .
(Göre Birleştirilmiş Junio Cı Hamano - gitster
- içinde işlemek bfbc2fc , 28 Eylül 2017)
Not o geçersiz kılma / değiştirme Geçmiş içeriğe sahip bir dosya, kullanmak gerektiğini kafa karıştırıcı git checkout
komutu artık, ama git restore
(Git 2.23+ 2019 Ağustos)
git restore -s <SHA1> -- afile
Bu, çalışma ağacında yalnızca "source" ( -s
) ' de mevcut olan dosyayı SHA1'e geri yükler .
Dizini de geri yüklemek için:
git restore -s <SHA1> -SW -- afile
( -SW
: kısa --staged --worktree
)
git show
(yararsız bir şekilde) iki nokta üst üste ile farklı sözdizimi kullanır.git show 2c7cf:my_file.txt