A separate git hosted repository may be used for updating Language Packs. This repository must be a public repository. What’s the point of putting translation files in a private repository.
Simply add the header
Bitbucket Languages, or
GitLab Languages to the headers of the plugin or theme. The URI for this header are in the same format as for the plugins or themes. You must use the full URI for this header.
GitHub Languages: https://github.com/afragen/git-updater-translations
In order to create your Language Pack repository. You will need to install and use the Language Pack Maker. You will need to follow those directions to create a properly formatted language pack repository. All translation files must be in branch
See Git Updater Translations as an example.
Many thanks to Ulrich Pogson.