Я хочу иметь возможность выполнять git
манипуляции во время выполнения с go
.
. Недавно я обнаружил пакет go-git
, который очень удобен для этой цели. .
Я также смог выполнить pull
операций, более или менее следующим образом:
import {
git "gopkg.in/src-d/go-git.v4"
}
repo, err := git.Clone(memory.NewStorage(), nil, &git.CloneOptions{
URL: "https://github.com/pkaramol/myrepo",
})
err := repo.Pull(&git.PullOptions{
RemoteName: "origin"
})
У меня вопрос, если я использую извлечение репо в памяти, как указано выше ) как я смогу прочитать (моя go
программа) файл из репозитория? т.е. предполагая, что файл
https://github.com/pkaramol/myrepo/someConfig.yaml
Было бы предпочтительным (в случае, если мне нужно просто этот конкретный файл) выполнить клон git (все еще в памяти) только конкретный файл?