Publish packages as git tags
Alternatives To Gitpkg
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Private Bower692435 years ago71October 19, 201752otherJavaScript
A simple private bower registry
Beachball63820362 days ago179July 14, 2022112mitTypeScript
The Sunniest Semantic Version Bumper
Gitpkg243112a year ago5June 17, 202210mitJavaScript
Publish packages as git tags
Jenkins Stack Kubernetes180
8 months agoapache-2.0Shell
Scripts and manifests to deploy complete Jenkins on Kubernetes
6 months agomitTypeScript
Git Account Management Tools & NPM Registry Manager
Jspm Git4468216 years ago25February 13, 20183mitJavaScript
A generic jspm registry for Git Repositories.
20 days ago68August 25, 20214apache-2.0Python
Easily dockerize your Git repository
Ak Cli41
6 months ago19gpl-3.0
:bookmark: Collection of useful cli commands
a month ago6Shell
Gogs( GitHub )+Drone+Docker Registry | 私有化的 CI/CD & DevOps 解决方案
Git Tag Action29
6 months ago2mitTypeScript
[GitHub Action] Get ${version} from package.json and git tag ${version} for the repository.
Alternatives To Gitpkg
Select To Compare

Alternative Project Comparisons


Publish packages as git tags

🔧 Works with projects with build steps.
👯 Works with projects with multiple packages (monorepos).
🏎 Lightweight git tags (only the files needed are included).

Table of Contents


Both npm and yarn support installing packages from git tags.

But things can get difficult with packages that have a build step (eg babel) and monorepos with multiples packages (eg lerna).

gitpkg publish creates a git tag with the same files as if you were running npm publish or yarn publish and uploads the generated git tag to a git repository.

Also you can publish any gitpkg package to the same repository, so you can have only one repository used as common registry and you get away from your project git repository the git tags with the build code.


  • gitpkg package: git tag generated by gitpkg.
  • gitpkg registry: git repository used as common host for your gitpkg packages.


Node.js v10.12 or newer is required.

npm registry

Via the yarn client:

$ yarn global add gitpkg

Via the npm client:

$ npm install -g gitpkg

gitpkg registry

Via the yarn client:

$ yarn global add ramasilveyra/public-registry#gitpkg-v1.0.0-beta.2-gitpkg

Via the npm client:

$ npm install -g ramasilveyra/public-registry#gitpkg-v1.0.0-beta.2-gitpkg



Publishes a package to a git repository, by default uploads the package to the git repository in the git remote origin (git remote -v to see your git remote origin url). The package published is defined by the package.json in the current directory.

$ gitpkg publish

See in action.

--registry, -r

$ gitpkg publish --registry [email protected]:org/private-registry.git

This flag tells gitpkg to publish the package to a specific gitpkg registry.

You can also set the gitpkg registry permanently by adding "gitpkg":{"registry":"[email protected]:org/private-registry.git"} to the package.json.


You can also configure gitpkg with a config file. Create a file named gitpkg.config.js in the root of your project or in the root of a subpackage.

Available config settings


Publish the package to a specific gitpkg registry. Same as the registry flag of the cli.


Function used to create the git tags. The function receives one object pkg, which is the content of the package.json file.

// Example content of gitpkg.config.js
module.exports = () => ({
  registry: '[email protected]:org/private-registry.git',
  getTagName: pkg => `${}-v${pkg.version}-gitpkg`


Usage with Gerrit

gitpkg works by publishing tags that contain only the files in a package. The commits in these tags don't appear on any branch, so Gerrit will reject them by default:

! [remote rejected] …
    (prohibited by Gerrit: update for creating new commit object not permitted)

To gain the permission gitpkg needs, add Create Reference and Push entries to the refs/tags/* reference in the Access settings of your repository.


Feel free to dive in! Open an issue or submit PRs.

gitpkg follows the Contributor Covenant Code of Conduct.


MIT © Ramiro Silveyra d'Avila

Popular Git Projects
Popular Registry Projects
Popular Version Control Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.