gpt4 book ai didi

python - 使用 GitPython 检查本地 Python 相对于远程的状态

转载 作者:IT王子 更新时间:2023-10-29 00:55:01 25 4
gpt4 key购买 nike

如何使用 GitPython确定是否:

  • 我的本地分支领先于远程(我可以安全地推送)
  • 我的本地分支在远程后面(我可以安全地 pull )
  • 我的本地分支机构与远程分支机构发生分歧?

要检查本地和远程是否相同,我正在这样做:

def local_and_remote_are_at_same_commit(repo, remote):
local_commit = repo.commit()
remote_commit = remote.fetch()[0].commit
return local_commit.hexsha == remote_commit.hexsha

最佳答案

参见 https://stackoverflow.com/a/15862203/197789

例如

commits_behind = repo.iter_commits('master..origin/master')

commits_ahead = repo.iter_commits('origin/master..master')

然后你可以使用类似下面的东西从迭代器到计数:

count = sum(1 for c in commits_ahead)

(您可能希望在运行 iter_commits 之前从远程获取数据,例如:repo.remotes.origin.fetch())

这是最后用 GitPython 1.0.2 检查的。

关于python - 使用 GitPython 检查本地 Python 相对于远程的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com