Nic*_*son 3 git github git-revert git-commit gitlab
我正在尝试删除一些错误的 gitlab 提交。
其他线程中提供的答案是
当我尝试删除提交时,它们没有被删除。相反,在顶部创建了两个额外的合并。我确信这是正常的,但我不明白为什么它这样做,更重要的是,它没有删除提交。
如何完全删除提交,以便最后一个可用的提交是带有超人徽标的提交?谢谢
非破坏性的方法就是简单地做你已经做过的事情:恢复你的提交。当然还有“另外 2 次提交”,但是您的分支处于与以前相同的状态。
破坏性的方法是删除提交,但这会覆盖您的分支历史记录。因此,您需要额外的权限来重写分支历史记录。
在继续之前,您需要了解:
- 根据存储库配置,您可能不被允许做这样的事情
- 您将迫使在此存储库上工作的其他人强制拉出分支,因此,如果他们不能很好地理解该过程,他们可能会失去工作
- 在超人提交之后,您将丢失所有提交,甚至是那些在过去几个小时内由其他人创建的提交
我强烈建议您不要这样做。
通过代码,假设这是分支master:
# Retrieve the latest version
git pull origin master
# Goes back to the superman commit
git reset --hard 329a7a0e
# Force push to rewrite history
# Will be refused if the branch is protected
git push origin master --force
Run Code Online (Sandbox Code Playgroud)
对于 Gitlab,我认为你没有其他办法,除了:
329a7a0e,命名为master-rollbackmaster分支master从创建一个新分支master-rollbackmaster-rollback分支| 归档时间: |
|
| 查看次数: |
16853 次 |
| 最近记录: |