Git OVERWRITE all存储库与以前的提交
今天我们在工作中遇到了一些尴尬的事情,一个新的合作伙伴进行了提交和推送,并覆盖了存储库中的所有内容 现在我需要回到灾难发生前的状态 是否可以删除对远程存储库的提交 如果没有,我可以提交(例如:Git OVERWRITE all存储库与以前的提交,git,bitbucket,Git,Bitbucket,今天我们在工作中遇到了一些尴尬的事情,一个新的合作伙伴进行了提交和推送,并覆盖了存储库中的所有内容 现在我需要回到灾难发生前的状态 是否可以删除对远程存储库的提交 如果没有,我可以提交(例如: 0231c10)作为主分支的负责人?您可以在master分支上使用git reset--hard 0231c10执行此操作。您可以在master分支上使用git reset--hard 0231c10执行此操作。如果使用一个新提交完成对存储库的重写,然后最好使用命令git revert将其还原。通过还原,
0231c10)作为主分支的负责人?您可以在
master
分支上使用git reset--hard 0231c10
执行此操作。您可以在master
分支上使用git reset--hard 0231c10
执行此操作。如果使用一个新提交完成对存储库的重写,然后最好使用命令git revert
将其还原。通过还原,将创建一个新的提交,它只会还原在提交中所做的更改
使用这种方法,您的历史上仍然会有错误的提交,但如果您没有足够的经验,这是解决此类问题的最佳方法,因为这很容易,否则,使用类似于git reset--hard 0231c10的方法时,您需要使用强制推送选项,这不是非常安全的操作,即使您准备好承担此风险,您也需要知道,您需要要求所有提交者对其环境执行不太安全的操作,像这样git-fetch-origin
,然后在master-branchgit-reset——硬origin/master
但是,如果您认为您已经准备好在存储库中重写历史,那么请使用另一个答案中建议的
git reset--hard 0231c10
。如果使用一个新的提交完成了存储库的重写,那么最好使用命令git revert
将其还原。通过还原,将创建一个新的提交,它只会还原在提交中所做的更改
使用这种方法,您的历史上仍然会有错误的提交,但如果您没有足够的经验,这是解决此类问题的最佳方法,因为这很容易,否则,使用类似于git reset--hard 0231c10的方法时,您需要使用强制推送选项,这不是非常安全的操作,即使您准备好承担此风险,您也需要知道,您需要要求所有提交者对其环境执行不太安全的操作,像这样git-fetch-origin
,然后在master-branchgit-reset——硬origin/master
但是,如果您认为您已经准备好在存储库中重写历史,那么请使用另一个答案中提出的
git reset--hard 0231c10
。通常,在已发布的回购中,更安全的做法是执行git revert
然后执行git push
。还有其他解决办法
git重置——硬的
和
git-push--force
通常,在已发布的回购协议中,更安全的做法是执行
git revert
然后git push
。还有其他解决办法
git重置——硬的
和
git-push--force
你现在有个大问题。我想提出以下解决方案。如果您仍然没有推动或拉离“灾难”回购协议。您/某些人仍然拥有“正确”的存储库。因此,您可以完全删除远程存储,创建一个新的空repo,并将正确的repo推送到新的远程存储。如果在该远程存储库中启用了强制推送,那么最好检查推送不是一个
push-f
。如果您的分支在存储库中处于良好状态,用力推,你现在有个大问题。我想提出以下解决方案。如果您仍然没有推动或拉离“灾难”回购协议。您/某些人仍然拥有“正确”的存储库。因此,您可以完全删除远程存储,创建一个新的空repo,并将正确的repo推送到新的远程存储。如果在该远程存储库中启用了强制推送,那么最好检查推送是否为push-f
。如果您的分支在存储库中处于良好状态,请执行强制推送。