git show test.rb
можно переписать как git show -- test.rb
.Эта форма делает более очевидным, что вы звоните git show
и фильтруете вывод просто test.rb
.Поскольку git show
по умолчанию показывает HEAD
, это то же самое, что и git show HEAD -- test.rb
.По сути, он покажет информацию о коммите, но даст вам только diff для конкретного файла test.rb
.
Однако git show HEAD:test.rb
явно указывает git show
, что объект, который вы хотите показать, является BLOB-объектомкоторый живет по пути test.rb
, достижимому из дерева, связанного с коммитом HEAD
.