如何从之前的5次提交中获得提交的最新副本?
背景:
我遇到的情况是我正在处理的某些代码工作正常,但签出时无法正常工作。不确定提交时发生了什么,但是安装凉亭包可能会出现问题。
我需要回到之前的提交并尝试重做工作并将其提交,以便在下一个人更新代码时它能正常工作。
我尝试过:
git checkout -b <branchname>
然而,这似乎已经恢复到之前的提交,但似乎仍然将一些文件合并在一起。我需要能够获取之前提交的新副本。
另外作为一个侧面问题,在提交bower包时,我应该将包添加到bower .json安装文件中吗?那么当下一个人检查出来时,凉亭安装会为他们运行吗?
答案 0 :(得分:2)
git checkout <previous commit hash>
应该有用。
答案 1 :(得分:1)
要使工作树处于当前分支上的5个提交状态:
git checkout HEAD~5
要转移到分支foo 5提交前:
git checkout foo~5
要么让你处于分离头状态。如果这困扰你,请创建一个新的分支。
答案 2 :(得分:-1)
据我所知,你不知道有问题的commit_id。
为此,您可以逐个恢复每个分支并测试代码。
要知道该提交中的所有更改,您可以使用
git log -p
要还原一次提交的更改,您可以使用
git revert commit_id
供参考,您可以查看链接Revert multiple git commits