i有一个git存储库,其中包含整个文件夹结构,我想要o重置其中一个(不是全部(到在特定时间,但我不想影响存储库的任何其他文件/文件夹。
我如何用git实现这一目标?
说我的 root/
文件夹中有git存储库,其中包含:
root/
root/FolderA/
root/FolderB/sub1/
root/FolderB/sub2/
root/FolderC/
我想将root/FolderB/
及其所有内容还原到2018年1月1日的情况,但我不想更改其他文件夹的内容。
请注意,我通常使用UI Frontent(git扩展(,因此我不经常使用命令行中的git。我一般都不熟练地精通git。
此命令将在2018年1月2日之前从最后一个提交中恢复root/FolderB/
的版本:
git checkout $(git rev-list -n 1 --before="2018-01-02 00:00" master)^ -- root/FolderB/
说明:
-
git rev-list -n 1 --before="2018-01-02 00:00" master
:在2018年1月2日之前获取最后一个提交的哈希 -
git checkout <commit-hash>^ master -- root/FolderB/
:从master
分支上的<commit-hash>
还原root/FolderB/