在更新了一些代码之后,我忘记创建分支,现在我必须回退到初始提交并删除初始提交后的所有提交。工作已经被保存在别处,所以不会有丢失风险。
我使用了 "git reset --hard {SHA}" 命令将代码库重置到需要的版本,但现在所有在初始提交后执行的提交都在等待重新接收以与主代码库同步。
我想删除 2015 年 6 月 10 日至 7 月 2 日之间的所有提交,因为它们不再需要。有没有人知道如何做到这一点?
在更新了一些代码之后,我忘记创建分支,现在我必须回退到初始提交并删除初始提交后的所有提交。工作已经被保存在别处,所以不会有丢失风险。
我使用了 "git reset --hard {SHA}" 命令将代码库重置到需要的版本,但现在所有在初始提交后执行的提交都在等待重新接收以与主代码库同步。
我想删除 2015 年 6 月 10 日至 7 月 2 日之间的所有提交,因为它们不再需要。有没有人知道如何做到这一点?
从任何分支中删除远程提交 [Master是一个分支]
如果您向远程服务器提交了某些不应该提交到特定分支的内容,可以使用以下步骤将其删除。
如果分支有您想要保留的更改 - 从第1步开始
如果您不关心更改,只想还原到特定提交 - 从第3步开始
执行硬重置并使用命令将HEAD重置为要创建分支的提交: git reset --hard {SHA}
创建分支并将其发布到服务器(如果跳过此步骤,您可能会丢失工作)
执行硬重置以将头设置为要保留的提交- git reset --hard {SHA}
使用命令执行强制推送来消除传入的提交: git push -f
git push -f
命令,服务器上的内容将被您的内容覆盖。git reset --hard origin/master
,假设您在主分支master
上)。在这种情况下,我建议使用git revert
来简单地撤消您的提交所产生的影响,而不是试图从历史记录中删除它们。