如何在修订版中“时间旅行” git存储库?

时间:2018-06-21 17:15:31

标签: git version-control bitbucket revision

是否可以将git存储库完全还原到bitbucket上的以前的X版本,以便它在该X版本之后不保留任何更改,并且不包含比X版本更新的任何源代码更改。

例如,如果仓库中有1,2,3,4,5个修订,而我想还原为修订3,则它是最后一个修订,完全清除了修订4和5的所有痕迹,就好像它们从来没有被创造出来,也无法得到。

2 个答案:

答案 0 :(得分:0)

您可以在本地克隆仓库sha256_block_data_order,然后git reset --hard <commit 3>备份到远程仓库。您需要对所有分支进行此操作。

在使用git push -f进行推送时,您也应该非常小心-确保您要推送到正确的仓库/分支。

这将重写远程存储库的历史记录,因此您应将此存储库通知其他使用者,否则会发生冲突。

在此处了解更多信息:same is being done there

答案 1 :(得分:0)

是的,您可以通过多种方式执行此操作:

1)您可以指定时间,例如10.minutes.ago,1.hours.ago,1.days.ago ...

例如:如果您想 5天前回到主分支    git reset --hard master@{5.days.ago}

2)如果您知道提交哈希,则可以直接返回git reset --hard <commit_hash>

谢谢!