Nodegit 如何获取新的分支列表?
Nodegit How can I get new branch list?
open(o.localPath).then(function (repo) {
repository = repo;
return repo.fetchAll(credentials);
}).then(function () {
return repository.getReferenceNames(Git.Reference.TYPE.LISTALL);
}).then(function (arrayString) {
console.log(arrayString);
}).catch(err => {
reject(err);
})
我提取了所有分支一次(总共 5 个分支),我删除了一个分支,本地和远程,这仍然 return 5 个分支,但它应该 return 4 个分支,我怎么能获取新的分支列表?
repository.getReferenceNames(Git.Reference.TYPE.LISTALL);
可以与
同义
git show-ref
命令。
这是使用 .git/refs
文件夹中的引用。
您想 运行 在删除分支时 git fetch --all --prune
删除在远程中删除的远程跟踪引用。
取决于你的 nodegit 版本([v0.5.0] 及以上)
//...
const fetchOptions = { callbacks: credentials, pruneAfter: true }
return repo.fetchAll(fetchOptions)
//...
//...
return repo.fetchAll(remoteCallbacks, true)
//...
我使用的是 v0.27.0,以下适用于我:
repo.fetchAll({
callbacks: {
credentials(url, username) {
return ...
}
},
prune: Git.Fetch.PRUNE.GIT_FETCH_PRUNE
})
open(o.localPath).then(function (repo) {
repository = repo;
return repo.fetchAll(credentials);
}).then(function () {
return repository.getReferenceNames(Git.Reference.TYPE.LISTALL);
}).then(function (arrayString) {
console.log(arrayString);
}).catch(err => {
reject(err);
})
我提取了所有分支一次(总共 5 个分支),我删除了一个分支,本地和远程,这仍然 return 5 个分支,但它应该 return 4 个分支,我怎么能获取新的分支列表?
repository.getReferenceNames(Git.Reference.TYPE.LISTALL);
可以与
git show-ref
命令。
这是使用 .git/refs
文件夹中的引用。
您想 运行 在删除分支时 git fetch --all --prune
删除在远程中删除的远程跟踪引用。
取决于你的 nodegit 版本([v0.5.0] 及以上)
//...
const fetchOptions = { callbacks: credentials, pruneAfter: true }
return repo.fetchAll(fetchOptions)
//...
//...
return repo.fetchAll(remoteCallbacks, true)
//...
我使用的是 v0.27.0,以下适用于我:
repo.fetchAll({
callbacks: {
credentials(url, username) {
return ...
}
},
prune: Git.Fetch.PRUNE.GIT_FETCH_PRUNE
})