我知道您可以使用gitrevisions(1) 中记录的:/<text>-syntax选择修订版,例如
git show :/"new change"
Run Code Online (Sandbox Code Playgroud)
将在提交消息中显示带有“新更改”的(最年轻的可到达的)提交。
我也经常在特定版本中使用该功能来处理git showblob,例如
git show myBranch:./coolFile.csv
Run Code Online (Sandbox Code Playgroud)
在修订状态下查看coolFile.csv(以我的相对路径)的全部内容。 myBranch
现在我的问题是:我可以使用:/<text>语法选择一个修订版,然后在该修订版中显示一个斑点吗?我努力了
git show (:/"new change"):./coolFile.csv
git show :/"new change":./coolFile.csv
Run Code Online (Sandbox Code Playgroud)
这引发了错误
致命:不明确的参数':/新更改:./coolFile.csv':未知修订版或路径不在工作树中。
使用“--”将路径与修订版分开,如下所示:
“git [<revision>...] -- [<file>...]”
所以我尝试了
git show :/"new change" -- ./coolFile.csv
Run Code Online (Sandbox Code Playgroud)
它什么也不打印,因为该语法只打印该文件中该修订版的更改。
您可以使用命令替换:
git show $(git rev-list -1 :/"new change"):coolFile.csv
Run Code Online (Sandbox Code Playgroud)
(这里git rev-list只是输出想要的修订哈希)
注意(感谢@phd):这是一个 bash 机制,它在 Windows cmd 中不起作用。
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |