NodeGit, как мне получить список местных филиалов?

Я пишу сервер узла API, который должен отправить пользователю список локальных веток в git-репо, находящихся на сервере. Многие места предлагают использовать репозиторий # getReferenceNames от NodeGit, и это то, что я делаю:

exports.getBranches = function (req, res) {
    NodeGit.Repository.open(config.database).then(function(repo) {
        return repo.getReferenceNames(NodeGit.Reference.TYPE.LISTALL);
    }).then(function (arrayString) {
        res.status(200).json({message: "OK", data: arrayString});
    }).catch(function (err) {
        res.status(500).json({message: err, data: []});
    }).done(function () {
        console.log("finish");
    });
};

Однако эта функция возвращает все ветви. Есть ли способ получить только локальную ветку вроде командной строки git branch делает?

1 ответ

Решение

Конечно, есть! Локальные ветви - это префиксные ссылки / заголовки, в то время как удаленные ветви - это префиксные ссылки / пульты, например:

Удачи!

Редактировать:

Есть даже лучший метод. Вы можете просмотреть возвращенные ссылки до того, как их вернуть, и отсеять пульты с помощью reference.isRemote().

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