使用pygit2拉取和集成远程更改



我确实有以下问题。我正在写一个脚本,在文件夹中搜索存储库,查找网络上的遥控器,并将所有新数据拉入存储库,通知我新的更改。主要思想是明确的。我在Windows 7 x64上使用python 2.7,使用pygit2访问git功能。命令行支持简单的命令"gitpull'origin'",但gitapi更复杂,我看不出方法。好吧,我走了那么远:import pygit2 orepository=pygit2.Repository("path/to/repository/.git") oremote=repo.remotes[0] result=oremote.fetch()此代码检索新对象并将其下载到存储库中,但不更新主分支或检出新数据。通过使用TortoiseGit检查存储库,我发现没有任何方法可以检出,甚至在显示日志时也不会出现新的日志消息。我需要使用gitpull命令来刷新存储库和工作副本。现在我的问题是:使用pygit2,我需要做什么才能做到这一切?我的意思是,我通过获取更改来下载它们,但那时我需要做什么?我也想更新主分支和工作副本。。。提前感谢你帮我解决问题。顺致敬意,

Remote.fetch()不会更新workdir中的文件,因为这离它的工作很远。如果您想更新当前分支并签出这些文件,您还需要通过Repository.create_reference()Reference.target=执行这些步骤,具体取决于您当时拥有的数据,然后,例如,如果您决定更新Repository.checkout_head()

git-pull是一个根据所传递的配置和标志执行许多不同步骤的脚本。当你编写一个工具来在多个存储库中模拟它时,你需要弄清楚你想做什么,而不是希望一切都设置好了,这样git-pull就不会让你感到惊讶。

相关内容

  • 没有找到相关文章

最新更新