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().