首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pygit2拉取和集成远程更改

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

Stack Overflow用户
提问于 2014-04-21 23:51:24
回答 1查看 1.9K关注 0票数 2

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

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 10:42:48

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23200789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档