Git重置具有特定扩展名的所有文件

ank*_*itd 4 git github github-for-mac github-for-windows

我对许多类型的文件进行了更改,例如.tsx .scss.scss.d.ts,并且已提交并推送到我的分支。

有什么办法可以只.scss.d.ts用 master重置扩展名吗?

保留更改.tsx.scss.scss.d.ts通过 master重置。

谢谢

JBa*_*lin 14

git reset master -- "*.scss.d.ts"
Run Code Online (Sandbox Code Playgroud)


Rom*_*eri 7

您可以首先输出路径列表

git ls-files master -- *.scss.d.ts
Run Code Online (Sandbox Code Playgroud)

然后可以将该列表发送到checkout命令*以将它们中的每一个恢复到它们的状态master

git checkout master -- $(git ls-files master -- *.scss.d.ts)
Run Code Online (Sandbox Code Playgroud)

* 请注意,由于最近的 git 版本,您也必须git restore达到相同的效果

git restore --source=master '*.scss.d.ts'
Run Code Online (Sandbox Code Playgroud)