Ruby/Rugged Как я могу сохранить изменения после git fetch?

Итак, я хотел выполнить git pull с использованием Rugged, поэтому я делаю выборку и сливаюсь так:

require 'rugged'

 certificat = Rugged::Credentials::SshKey.new({username: 'git', privatekey: 'path/to/privatekey', publickey: 'path/to/publickey' })

  repo = Rugged::Repository.new("/tmp/git")
  repo.checkout('master')

  # git fetch

  remote = repo.remotes['origin']
  remote.fetch(credentials: certificat)
  remote.save # save new data

  # git merge

  commit = repo.branches['origin/master'].target
  repo.references.update(repo.head, commit.oid)

Но у меня есть эта ошибка с методом сохранения:

undefined method `save' for #<Rugged::Remote:0x0000000135d6e8> (NoMethodError)

Я не понимаю, почему именно метод сохранения находится в Rugged doc ( здесь)

Кто-нибудь знает почему?

РЕДАКТИРОВАТЬ: Хорошо, так что эта документация устарела, метод save больше не существует. Я думаю, что мое слияние неполное, кто-нибудь знает?

EDIT2: я просто добавляю эту строку в конце этого кода, и это работает!

repo.checkout_head({strategy: :force})

0 ответов

Другие вопросы по тегам