我在我的网站托管和Bitbucket的帐户上都有git设置,这些设置都是链接的。
如何恢复我的托管(我通过SSH登录并安装git已准备好并正常工作)和Bitbucket上的第一次提交?
我尝试过:git checkout 965a793
然后我尝试了最后一个点:git checkout .
但是当我得到git push时,Bitbucket方面似乎没有任何改变。它说一切都是最新的,即使Bitbucket处于提交cf08232
以下是我的三个提交列表:
cf08232 remove the txt file
096d08f test.txt edited online with Bitbucket
965a793 Initial Commit
答案 0 :(得分:28)
使用--force:
git reset --hard commitID
git push origin branchName --force
我假设原点是bitbucket的远程
答案 1 :(得分:8)
请注意 git reset 危险。我个人不是粉丝,因为它会删除/修改更改历史记录。如果您想在不修改更改历史记录的情况下将更改回滚到特定提交,我建议改为使用git revert:
/^10.\d{4,9}/[-._;()/:A-Z0-9]+$/i
每次运行git revert时,它都会创建一个新的提交,撤消特定先前提交引入的更改,而不修改更改历史记录。
这是一个很好的article比较重置,结帐和&还原
答案 2 :(得分:-1)
阅读完整的答案,了解如何操作。
How to move HEAD back to a previous location? (Detached head)
它将详细解释每个选项。
基本上 - 检查所需的提交并将其推送到远程。