python - 如何使用 GitPython 将 master 分支的头重置为之前的提交

标签 python git gitpython

我想基本上恢复主分支中的更改。 我可以通过执行以下操作找到我的提交历史记录:

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

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

最佳答案

如果您知道提交编号,例如“最新提交 = 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)

引用this问题以了解有关如何识别提交的更多信息。

关于python - 如何使用 GitPython 将 master 分支的头重置为之前的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56081371/

相关文章:

c# - Github 上的 Weak Key 错误,使用 C# 生成 4096 RSAkey

azure-functions - Azure 函数 - 应用服务计划 - 安装 git 包

python - Beautiful Soup 没有 'get' 完整网页

python - python中的[None]和[]有什么区别?

python - 将不均匀的值更改为特定的偶数

Python:查找给定 git 存储库的所有提交与其差异的映射

python - GitPython 获取开始 sha1 和结束 sha1 之间范围内的所有提交

python - 从 POST 请求获取对神经网络 web.py 包装器的响应

git - Dropbox > git 提交

git - 来自同一分支的迭代 pull 请求?