用git恢复我的应用程序

时间:2011-03-09 19:36:22

标签: git

我想将我的应用程序恢复为我做的旧提交。

我做这样的提交:

  

git commit -m“blah”

当我按下“git log”时,我会看到我提交的所有提交内容。

如何使用git恢复我的应用程序?

编辑:

我做了git push(对heroku),它说:

    error: failed to push some refs to 'git@heroku.com:asfalt.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

3 个答案:

答案 0 :(得分:3)

这取决于 - 你想暂时回到旧提交,还是想在旧提交后永久丢弃所有内容?

暂时搬家:

git checkout <old commit SHA>

(注意:这将使您不在任何特定分支上。如果您决定在此之后进行提交,则需要先创建分支。)

在提交后扔掉所有东西:

git reset --hard <old commit SHA>

答案 1 :(得分:1)

当你执行git日志时,你会看到你用sha做的提交,例如:

commit 7df7855f2f74007c1d0359f7218be446dd7633e8

使用sha对要回滚的更改执行还原。例如,

git revert 7df7855f2f74007c1d0359f7218be446dd7633e8

答案 2 :(得分:1)

使用git log查找要恢复的提交的SHA1哈希值(看起来像9fcf42cb3dcc78e8c62ee1714ee27d42f1275384),然后使用:

git checkout 9fcf42cb3dcc78e8c62ee1714ee27d42f1275384  

这将分离你的头部,所以如果你在这个头上做出提交要小心(在结账后使用git branch -b newbranch来避免这种情况。)