恢复到bitbucket的先前更改

时间:2017-05-23 05:31:09

标签: git bitbucket atlassian-sourcetree

我已经在过去2天内对我的bitbucket帐户进行了4次更改,但现在我想回到2天前的状态。如果有任何办法,请帮助我。我正在使用Source树,如果这有助于我的任务。

3 个答案:

答案 0 :(得分:1)

因此,在您的本地git存储库中执行以下操作:

  1. 通过创建新分支或复制文件夹来备份仓库
  2. 现在使用git log并将要恢复的提交的sha复制到
  3. 使用git reset --hard <sha>重置。
  4. git push origin master -f推送到bitbucket

答案 1 :(得分:1)

如果有问题的分支共享(即您是唯一使用它的人),那么您可以尝试查看过去2天内发生的提交,例如:

git reset --hard HEAD~2

2替换为您要删除的实际提交数。要查看您要删除的提交数量,可以在分支上键入git log。请注意,要将分支推回Bitbucket,您需要使用:

git push --force origin yourBranch

如果有问题的分支 共享,则不建议使用上述选项,因为它会重写该分支的历史记录,这可能会导致共享它的任何人出现问题。相反,您可以尝试恢复过去两天的提交:

git revert A^..B

其中A是您要删除的最早提交,B是最新提交,可能是您分支的当前HEAD。从功能上讲,执行git revert与删除提交相同。但实际上,revert会在您的分支上添加 new 提交以撤消以前的提交,这对于共享分支是安全的。

答案 2 :(得分:0)

您可以尝试将此特定提交哈希码放在最后

git reset --hard <commit-hash>