我有一个先前的提交(9770912),我希望它暂时返回并推送服务器以查看此提交后是否在站点上出现此错误。此后我想回到当前的代码状态。当执行git checkout 9770912
时,我无法进行任何推送或提交。如何使用之前的git commit进行推送
1
A
回答
2
当执行git checkout 9770912时,我无法进行任何推送或提交。
那是因为你是在一个detached HEAD mode,这意味着你是不是在一个分支(这样,你不能推说“非分支”)
你可以做的是提交另一个分支,并迫使其推送到你的远程主分支
git checkout -b aNewBranch
git push -f origin aNewBranch:master
然后你就可以恢复是什么大师:
git push -f origin master:master
0
@vonc是正确的关于分离的头
你应该回到你的头
git reset HEAD --hard
,在这里你也有2种选择:
让它干净的复归你的提交并再次推送:
git revert 9770912
git push origin master (I suppose you are on your master)
或者你可以重新分配你的分支并使其消失(更复杂,你将重写历史)
git rebase -i HEAD~5 (-i for interactive mode and we will check the five latest commits from the HEAD)
When you are in this mode you should simple delete the line with your commit (with vim for example you can use dd keyboard letter (twice))
Save and quit (:wq)
git push origin master --force (you have to force to rewrite your history and make it disappear)
要小心这种方法,就好像你有同事一样,它也会产生与他们最近的历史冲突。
相关问题
- 1. 如何使用git? git-commit?混帐推?
- 2. 如何在git推后执行git commit?
- 3. git un-remove commit之前?
- 4. Git SVN,如何与远程推之前进行比较
- 5. Doxygen如何在每次推送之前使用git hooks运行doxygen?
- 6. 如何使用git kraken进行强制推送
- 7. 如何更改推送的git commit的名称?
- 8. 如何在推送Git之前验证分支名称?
- 9. 如何编辑以前的git commit?
- 10. 推送到git时进行部署
- 11. (git add -A后跟git commit)和git commit -a之间的区别?
- 12. 如何配置我的git进行推送?
- 13. 如何使用Intellij编辑以前的git commit消息?
- 14. 恢复以前的git commit?
- 15. 如何设置git以从当前分支进行推送和拉取?
- 16. 我该如何使用特定的linux组来进行git推送?
- 17. 如何使以前的git commit的副本,并使其头部
- 18. 如何在进行实际的hg推送之前查看将推送到Mercurial回购库的内容?
- 19. “git commit”前的多个“git add”
- 20. Git:如何在推送到远程目录时进行更新?
- 21. 了解何时使用git commit -m和git commit -am
- 22. 什么时候需要做“git pull”,在“git add,git commit”之前还是之后?
- 23. 如何阻止我使用'git commit -a'?
- 24. 只拿一部分的git commit,推送到github
- 25. 如何使用Git命令行推送更改?
- 26. 如何为mercurial编写智能推送,在推送之前进行拉取和合并?
- 27. 当用户在“git add”和“git commit”之前做“git push”会发生什么?
- 28. Git回滚到之前未被推送的提交
- 29. 我可以将标签推送到当前推送的git吗?
- 30. git push ::估计推送前的近似推送大小