For testing and development purposes I like https://github.com/afragen/github-updater to a great deal (probably there is plenty of other alternatives, it was the first I tried and sticked happily to it).
The plugin will allow wordpress users to add Themes/Plugins from github/gitlab repositories and benefit from the internal update-mechanisms and stuff (the installed plugin/theme behaves like a plugin/theme installed by the standard wordpress plugin/theme repository afterwards, update notifications included).
Adjusting a plugin/theme to be able to be used in such way is pretty trivial: one or two new comments are needed and new releases need to be tagged with properly named git tags (e.g.
0.1.5). Explanation is found here: https://github.com/afragen/github-updater/wiki .