我正在开发一个Rails应用程序并使用git。我决定尝试一个新的gem,并在任何更改之前创建一个git commit。实现gem需要删除一些我自己的代码。
当我添加gem并进行其他一些更改时,我意识到让应用程序的早期版本运行会很好,所以我可以并排比较。
我通过回滚git,复制文件树然后重新应用与新gem相关的更改来解决了这个问题。那就是我做了以下事情:
$ git reset --hard HEAD
$ git clean -f -d
是否可以从其中一个历史保存点创建(本地)git存储库的克隆?
答案 0 :(得分:5)
假设“历史保存点”等同于提交时间,因为默认情况下不记录特定于文件的时间戳,checkout命令的语法似乎是:
git checkout 分支 @ { timediff }
与git checkout master@{1 day ago}
一样,您可以使用git log
来隔离您的提交ID,并使用git checkout master commitId 进行检查。
答案 1 :(得分:2)
您是否尝试过git checkout <commit hash>
?
执行此git后会显示如下消息:
注意:转移到不是本地分支的''如果你 想要从这个结账创建一个新的分支,你可以这样做(现在或 之后)再次使用-b和checkout命令。示例:git checkout -b HEAD现在是4553c14 ......