我想将我的应用程序恢复为我做的旧提交。
我做这样的提交:
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.
答案 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
来避免这种情况。)