如何获得提交的新副本?

时间:2014-11-22 14:58:23

标签: git

如何从之前的5次提交中获得提交的最新副本?

背景:

我遇到的情况是我正在处理的某些代码工作正常,但签出时无法正常工作。不确定提交时发生了什么,但是安装凉亭包可能会出现问题。

我需要回到之前的提交并尝试重做工作并将其提交,以便在下一个人更新代码时它能正常工作。

我尝试过:

git checkout -b <branchname>

然而,这似乎已经恢复到之前的提交,但似乎仍然将一些文件合并在一起。我需要能够获取之前提交的新副本。

另外作为一个侧面问题,在提交bower包时,我应该将包添加到bower .json安装文件中吗?那么当下一个人检查出来时,凉亭安装会为他们运行吗?

3 个答案:

答案 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