tschaub/gh-pages

General purpose task for publishing files to a gh-pages branch on GitHub

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 6 minutes ago
Type:Library / SDKCategory(s):CI/CD & ReleaseDevOps & Observability
Added to GitGenius on September 20th, 2026
Created on March 18th, 2014
Open Issues & Pull Requests: 130 (+0)
GitHub issues: Enabled
Number of forks: 202
Total Stargazers: 3,345 (+0)
Total Subscribers: 20 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,329 days
Stale 30+ days: 10
Stale 90+ days: 9

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

gh-pages is a Node.js module for publishing files to a gh-pages branch on GitHub or any other branch on any remote repository.

The tool solves the problem of automating static site deployment by handling the Git workflow involved in publishing to GitHub Pages. It creates a temporary clone of a repository, manages the gh-pages branch (creating it if needed), selectively copies files matching specified patterns, commits changes, and pushes to the remote. By default it removes files from the target branch that are not in the source, ensuring the published content stays in sync with what you intend to deploy.

The tool suits projects that need automated publishing of built artifacts or static sites to GitHub Pages or similar branch-based hosting. It works well in build pipelines where you want to separate source from published output. Developers should choose it if they need fine-grained control over what gets published, such as selecting files by pattern, publishing to a custom branch instead of gh-pages, placing files in a subdirectory of the target branch, or preserving existing files rather than replacing them entirely. The module requires Git 1.9 or later and Node 14 or higher.

The project maintains a stable, focused codebase with infrequent but deliberate updates. Pull requests receive careful review with attention to edge cases and backward compatibility. Issues are addressed thoughtfully rather than rapidly, reflecting a preference for quality over velocity. The maintainer responds to user questions and bug reports with detailed explanations of how the tool works and why certain design decisions were made.