如何使用GitPython将master分支的头部重置为先前的提交

时间:2019-05-10 16:16:51

标签: python git gitpython

我实际上想还原我的master分支中的更改。 我可以通过以下操作找到我的提交历史:

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

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

1 个答案:

答案 0 :(得分:1)

如果您知道提交号,如Last Commit = 1,Second = 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)

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

相关问题