awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
steveukx avatar

steveukx/git-js

0
View on GitHub↗
3,845 stars·337 forks·TypeScript·MIT·4 vues

Git Js

git-js is a programmatic Node.js library and version control wrapper that provides a structured JavaScript API for executing Git commands. It serves as a Git automation framework and process manager, allowing developers to chain version control tasks and parse raw command output into structured data objects.

The project distinguishes itself through a dedicated Git process manager capable of spawning binaries with custom environment variables, specific process ownership, and concurrency throttling to prevent system resource exhaustion. It includes specialized system-level monitoring such as command execution tracing, progress tracking, and the ability to terminate hanging processes that stop producing output.

The library covers a comprehensive range of repository management capabilities, including branching, merging, and rebasing, as well as remote synchronization via cloning, mirroring, and pushing. It provides tools for repository state analysis, commit history retrieval, tag management, and working tree operations such as stashing, cleaning, and applying patches. Additionally, it includes utilities for object analysis, submodule management, and codebase text searching.

The library supports the specification of custom binary paths and working directories to manage version control environments across different system configurations.

Features

  • Git Workflow Automation - Provides a comprehensive framework for automating version control tasks like cloning, committing, and branching within Node.js.
  • Version Control Wrappers - Provides a promise-based JavaScript API that wraps system-level Git operations.
  • Branch Management - Provides programmatic operations to create, list, and delete local branches.
  • Branch Merging Strategies - Integrates changes from one branch into another using merging or rebasing strategies.
  • Git Configuration - Provides a utility to read, add, and append Git configuration properties across local, global, and system scopes.
  • Git Node.js Libraries - Provides a programmatic Node.js library for executing Git commands and managing version control workflows.
  • Git Process Managers - Provides a dedicated process manager for spawning Git binaries with concurrency throttling and custom environment variables.
  • Process Lifecycle Managers - Manages the complete lifecycle of Git processes, including timeouts, binary paths, and concurrency limits.
  • Remote Configuration Managers - Adds, removes, and lists remote repository configurations to track external sources.
  • Remote Repository Cloning - Duplicates a remote repository to a local directory to create a complete working copy.
  • Remote Repository Operations - Sends local commits and tags to specified remote repositories.
  • Repository State Parsers - Parses raw Git output into structured data objects to programmatically inspect branches, commits, and file differences.
  • Repository Initialization - Creates new version control repositories, including support for bare repository setup.
  • Automation Frameworks - Acts as a toolkit for chaining version control tasks and parsing raw command output into structured data objects.
  • Git Command Execution - Provides a programmatic interface to run Git operations using promise-based chains.
  • Git Process Management - Executes Git binaries with controlled concurrency, custom environment variables, and system-level process monitoring.
  • Local-Remote Branch Synchronizers - Updates local databases from remote repositories and aligns branches.
  • Automated Repository Maintenance - Enables scripting routine Git chores such as cleaning working directories, mirroring repositories, and updating submodules.
  • Working Directory Inspections - Analyzes the working directory to identify modified, deleted, staged, or untracked files.
  • Raw Command Executors - Runs arbitrary system commands and returns trimmed raw output for further processing.
  • Repository Type Verifiers - Determines if a directory is a bare repository, a root directory, or inside a repository tree.
  • Version Control Integrations - Provides a programmatic interface for building software tools that interact with Git repositories to manage source code.
  • Version Tag Management - Supports the creation and listing of lightweight and annotated tags for release marking.
  • Working Tree Restorations - Supports reverting files to previous states using soft or hard reset modes.
  • Commit Reverts - Allows undoing changes by reverting specific commits or resetting the repository state.
  • Process Output Streamers - Implements a system to intercept and process standard output and error streams from child processes in real-time.
  • Operation Cancellation Signals - Provides a mechanism to halt running child processes by sending termination signals before tasks complete.
  • System Binary Execution - Executes any version control command by passing an array of arguments directly to the system binary.
  • Concurrent Task Limiters - Limits the number of parallel processes to prevent system resource exhaustion.
  • Exit Code Evaluators - Provides custom logic to evaluate exit codes and stream output to trigger specific error handlers.
  • Repository History Retrieval - Enables retrieval of commit lists using summary, name-only, or numerical formats.
  • Concurrency Flows - Runs version control tasks in serial chains or parallel requests with managed concurrency.
  • Execution Progress Tracking - Monitors long-running operations and triggers handlers with current stage and percentage progress.
  • Version Difference Analysis - Generates diffs between commits or files to track changes and similarity scores.
  • Task Execution Tracing - Outputs detailed logs of internal tasks and raw process data for debugging via environment variables.
  • Process Termination Controls - Ships a system to automatically terminate processes that stop producing output on standard streams for a specified duration.
  • Git Utilities - Interface for running Git commands.

Historique des stars

Graphique de l'historique des stars pour steveukx/git-jsGraphique de l'historique des stars pour steveukx/git-js

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait steveukx/git-js ?

git-js is a programmatic Node.js library and version control wrapper that provides a structured JavaScript API for executing Git commands. It serves as a Git automation framework and process manager, allowing developers to chain version control tasks and parse raw command output into structured data objects.

Quelles sont les fonctionnalités principales de steveukx/git-js ?

Les fonctionnalités principales de steveukx/git-js sont : Git Workflow Automation, Version Control Wrappers, Branch Management, Branch Merging Strategies, Git Configuration, Git Node.js Libraries, Git Process Managers, Process Lifecycle Managers.

Quelles sont les alternatives open-source à steveukx/git-js ?

Les alternatives open-source à steveukx/git-js incluent : progit/progit2 — This project is a comprehensive educational resource and guide for learning the Git version control system. It serves… gitpython-developers/gitpython — GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It… magit/magit — Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control… go-git/go-git — This project is a pure Go implementation of the Git version control system, providing a library for integrating… geeeeeeeeek/git-recipes — This project is an educational resource providing a detailed command reference, tutorial collections, and structured… isomorphic-git/isomorphic-git — Isomorphic-git is a full implementation of the Git version control system written in JavaScript. It serves as a…

Alternatives open source à Git Js

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Git Js.
  • progit/progit2Avatar de progit

    progit/progit2

    6,522Voir sur GitHub↗

    This project is a comprehensive educational resource and guide for learning the Git version control system. It serves as a technical documentation source for a textbook that explains the fundamentals, advanced workflows, and internal architecture of Git. The project is structured as a multi-format e-book, with source files designed to be compiled into various digital publication formats, including HTML, PDF, EPUB, and Mobi. It utilizes a dedicated build pipeline to generate and validate these documents. The content covers a broad range of version control capabilities, including history manip

    CSS
    Voir sur GitHub↗6,522
  • gitpython-developers/gitpythonAvatar de gitpython-developers

    gitpython-developers/GitPython

    5,136Voir sur GitHub↗

    GitPython is a Python library that provides a programmatic interface for interacting with Git repositories. It functions as a version control API and a wrapper that allows for the execution of Git commands and the manipulation of repository commits, branches, and working trees. The project acts as a Git object manipulator, allowing users to inspect and modify internal data structures and blobs. It provides a structured layer for executing command line instructions with integrated error handling and data retrieval. The library covers a wide range of capabilities including repository initializ

    Python
    Voir sur GitHub↗5,136
  • magit/magitAvatar de magit

    magit/magit

    7,138Voir sur GitHub↗

    Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag

    Emacs Lisp
    Voir sur GitHub↗7,138
  • go-git/go-gitAvatar de go-git

    go-git/go-git

    7,211Voir sur GitHub↗

    This project is a pure Go implementation of the Git version control system, providing a library for integrating versioning and history analysis into applications. It functions as a complete repository manager and object store that does not require external binary dependencies. The implementation utilizes interface-based storage, allowing repositories to be managed on disk or entirely in memory. It supports a transactional storage model to ensure atomic operations and implements a content-addressable storage system using delta-compression packfiles. The library covers a broad range of version

    Gogitgit-clientgit-library
    Voir sur GitHub↗7,211
  • Voir les 30 alternatives à Git Js→