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})