首页 > 解决方案 > 如何使用 GitPython 将主分支的负责人重置为先前的提交

问题描述

我想从根本上还原我的主分支中的更改。我可以通过以下方式找到我的提交历史:

import git
repo = git.Repo('repos/my-repo')
commits = repo.iter_commits('master',max_count=10)

但我不确定如何将头部指向,比如说,消息包含“重置给我”的提交。我知道repo.git.reset('--hard'),但我不知道如何正确使用它。谢谢

标签: pythongitgitpython

解决方案


如果您知道最新提交 = 1、秒 = 2 等中的提交编号,那么您可以使用 ~ 运算符和 HEAD 来指向提交。HEAD~1 = 最新提交,HEAD~2 = 第二个最新提交。

因此,要删除最新的提交,您可以使用:

import git
repo = git.Repo('repos/my-repo')
repo.head.reset('--hard HEAD~1', index=True, working_tree=True)

请参阅问题以了解有关如何识别提交的更多信息。


推荐阅读