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
·

Systèmes de contrôle de version

Classement mis à jour le 30 juin 2026

For a version control system for software development, the strongest matches are asdf-vm/asdf (asdf-vm is a unified CLI version manager that supports), volta-cli/volta (Volta is a dedicated version manager for the JavaScript) and rbenv/rbenv (rbenv is a dedicated Ruby version manager that uses). yyuu/pyenv and pyenv-win/pyenv-win round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explorez les meilleurs systèmes de contrôle de version. Comparez les outils les mieux notés selon leurs fonctionnalités, leur activité et le support communautaire.

Systèmes de contrôle de version

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • asdf-vm/asdfAvatar de asdf-vm

    asdf-vm/asdf

    25,086Voir sur GitHub↗

    This project is a command-line tool designed to manage multiple versions of programming language runtimes and development tools on a single machine. It provides a unified interface for installing and switching between different versions of software, ensuring that specific tool versions are consistently applied across various development environments. The system distinguishes itself through a modular, plugin-driven architecture that allows for the integration of new languages and tools via external scripts. It utilizes a shim-based execution mechanism that intercepts command calls, automatical

    asdf-vm is a unified CLI version manager that supports multiple languages via a plugin system, uses shims for seamless version switching, and automatically detects per-project versions through .tool-versions files, making it an ideal fit for managing development tool versions.

    GoVersion Manager Compatibility LayersVersion SwitchersVersion Pinning Systems
    Voir sur GitHub↗25,086
  • volta-cli/voltaAvatar de volta-cli

    volta-cli/volta

    13,009Voir sur GitHub↗

    Volta is a cross-platform toolchain orchestrator and JavaScript toolchain manager. It functions as a version manager for Node.js and related package managers, allowing for the installation and coordination of multiple runtimes across a system. The project operates as a project-based version switcher, automatically detecting and switching to the required tool versions based on the current directory. This ensures environment consistency across different developer machines by resolving versions through project configuration.

    Volta is a dedicated version manager for the JavaScript toolchain (Node.js, npm, Yarn) that automatically switches versions per project via command shims, fitting the version-manager category cleanly but limited to one language ecosystem rather than covering multiple programming languages as requested.

    RustCommand ShimsVersion Switchers
    Voir sur GitHub↗13,009
  • rbenv/rbenvAvatar de rbenv

    rbenv/rbenv

    16,710Voir sur GitHub↗

    rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar

    rbenv is a dedicated Ruby version manager that uses shim-based per-project switching and shell integration, fitting the version-manager category but limited to a single language rather than the multi-language support you're looking for.

    ShellPer-Project Runtime AssignmentsRuntime Version SwitchingShim Regeneration
    Voir sur GitHub↗16,710
  • yyuu/pyenvAvatar de yyuu

    yyuu/pyenv

    44,899Voir sur GitHub↗

    pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si

    pyenv is a shim-based Python version manager with plugins and per-project settings, but it only manages Python — it does not support the multi-language switching your search requires.

    ShellPer-Project Runtime AssignmentsShell-Based
    Voir sur GitHub↗44,899
  • pyenv-win/pyenv-winAvatar de pyenv-win

    pyenv-win/pyenv-win

    7,006Voir sur GitHub↗

    pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions without affecting the system global installation. It functions as a multi-version installer and environment controller that ensures isolation and reproducibility across different projects. The tool uses a shim-based routing system to intercept executable calls and direct them to specific versioned binaries. This allows for both system-wide default configurations and local directory-level overrides, where a specific version is automatically activated when entering a project folder

    pyenv-win is a dedicated Python version manager for Windows with shim-based switching, automatic per-project version detection, and both global and local overrides, but it only supports a single language rather than the multi-language tool management this search requires.

    VBScriptRuntime Version SwitchingShim Regeneration
    Voir sur GitHub↗7,006
  • leoafarias/fvmAvatar de leoafarias

    leoafarias/fvm

    5,465Voir sur GitHub↗

    fvm is a version manager and orchestrator for the Flutter and Dart software development kits. It enables the installation and management of multiple SDK versions on a single machine, allowing different projects to run on different versions simultaneously to avoid conflicts. The tool provides mechanisms for pinning specific SDK versions to projects via configuration files, ensuring that all collaborators and build environments use an identical toolset. It also supports the use of custom SDK forks hosted in external repositories instead of official channels. Beyond local development, it serves

    fvm is a dedicated version manager for Flutter and Dart SDKs that supports per-project version pinning and symlink-based switching, but it only covers the Flutter/Dart ecosystem and lacks the multi-language plugin system this search expects.

    DartRuntime Version SwitchingVersion Pinning Systems
    Voir sur GitHub↗5,465
  • creationix/nvmAvatar de creationix

    creationix/nvm

    93,948Voir sur GitHub↗

    nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems. The tool allows for the automation of runtime switching by reading configuration files in project directories to select the required version. It supports the management of long-term support releases and the migration of global packages between different installed versions of the runtime. The project covers broader capabilities including runtime management throug

    nvm is a version manager specifically for Node.js, fitting the category but lacking multi-language support since it only handles a single runtime environment.

    ShellRuntime Version SwitchingVersion Selection Interfaces
    Voir sur GitHub↗93,948
  • jdx/miseAvatar de jdx

    jdx/mise

    29,929Voir sur GitHub↗

    Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma

    Mise is a CLI-based version manager with a plugin system for multiple languages and runtimes, using shim-based switching and automatic per-project configuration via directory traversal, exactly matching the requested features.

    RustEnvironment ManagersContext-Aware Environment ManagersDevelopment Environment Orchestrators
    Voir sur GitHub↗29,929
  • gvcgo/version-managerAvatar de gvcgo

    gvcgo/version-manager

    1,332Voir sur GitHub↗

    This project is a command-line utility designed to manage development environments by installing, switching, and pinning multiple versions of programming languages, SDKs, runtimes, and database engines. It functions as a centralized controller for complex toolchains, ensuring that specific software versions are maintained consistently across different machines and project directories. The tool distinguishes itself through an interactive terminal interface that allows users to browse and select software versions visually, reducing the need to memorize complex command-line arguments. It also pr

    This is a general-purpose version manager that handles thousands of SDKs with a terminal UI, fitting the need to install and switch between multiple development tool versions across languages.

    GoCommand ShimsVersion Pinning Systems
    Voir sur GitHub↗1,332
  • sdkman/sdkman-cliAvatar de sdkman

    sdkman/sdkman-cli

    6,791Voir sur GitHub↗

    SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits on Unix systems. It functions as a software installer and environment manager that automates the downloading and configuration of development tools for Linux and macOS. The tool enables the installation of parallel SDK versions on a single system and provides the capability to toggle between them to change the active environment for a shell session. It specifically facilitates the setup of Java development environments, including the management of various Java Development Kit

    SDKMAN is a command-line version manager focused on JVM-based development kits (JDK, Gradle, Maven) with per-project configuration via .sdkmanrc files and shell integration, but its narrower ecosystem coverage (not a general multi‑language tool) means it is a solid match rather than a flagship for broader language version management.

    ShellRuntime Version Switching
    Voir sur GitHub↗6,791
  • moovweb/gvmAvatar de moovweb

    moovweb/gvm

    11,645Voir sur GitHub↗

    Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing, removing, and switching between different versions of the Go programming language on a single machine. The tool manages native dependencies and creates isolated package sets to prevent version conflicts between different project environments. It uses environment variable overlays and directory isolation to link native code without modifying the host operating system. The software covers the full language lifecycle, including remote version cataloging, active version switching,

    Gvm is a dedicated Go version manager that handles installing, switching, and isolating multiple Go versions on a single machine, but it only supports one language rather than the multi-language scope this search is after.

    ShellRuntime Version Switching
    Voir sur GitHub↗11,645
  • jenv/jenvAvatar de jenv

    jenv/jenv

    6,621Voir sur GitHub↗

    Manage your Java environment

    jenv is a version manager for Java environments, so it fits the category but is limited to a single language rather than supporting multiple languages as you need.

    ShellRuntime Version Switching
    Voir sur GitHub↗6,621
  • rvm/rvmAvatar de rvm

    rvm/rvm

    5,192Voir sur GitHub↗

    RVM is a Ruby version manager and build automation tool designed to install and switch between multiple versions of the Ruby interpreter on a single system. It serves as a dependency isolator and shell environment wrapper, allowing for the creation of named library sets to prevent version conflicts between different projects. The project distinguishes itself as a deployment orchestrator that automates the provisioning of Ruby runtimes across remote servers and build agents. It generates standalone executable wrappers to ensure specific runtimes and library sets are loaded for scheduled tasks,

    RVM is a Ruby-specific version manager that installs and switches between multiple Ruby interpreters with per-project version detection and shell integration, but it only covers a single language rather than the multi-language setup you're looking for.

    ShellRuntime Version SwitchingShell Initialization Scripts
    Voir sur GitHub↗5,192
  • coreybutler/nvm-windowsAvatar de coreybutler

    coreybutler/nvm-windows

    46,816Voir sur GitHub↗

    This project is a command-line utility designed to manage multiple runtime versions on a single machine. It enables developers to install, remove, and toggle between different versions to satisfy project-specific dependency requirements, ensuring that each environment remains isolated to prevent version conflicts or path overlaps. The tool functions by storing distinct runtime versions in separate, isolated directories and utilizing symbolic links to point to the currently active version. It orchestrates these file system operations through a unified command-line interface that modifies syste

    nvm-windows is a CLI-based version manager for Node.js on Windows that installs, switches, and manages versions with per-project auto-detection and symlink-based switching, fitting the core category but limited to a single language rather than multi-language support.

    GoCommand Line Interfaces
    Voir sur GitHub↗46,816
  • nvm-sh/nvmAvatar de nvm-sh

    nvm-sh/nvm

    93,825Voir sur GitHub↗

    This project is a command-line tool designed for managing multiple runtime versions on a local machine. It functions as a shell-based environment manager that enables users to install, switch between, and maintain different versions of a runtime to support project-specific requirements or diverse shell sessions. By dynamically updating system paths and environment variables, it provides a consistent interface for runtime version control across various Unix-like operating systems. The tool distinguishes itself through its portable, POSIX-compliant shell implementation, which ensures reliable e

    nvm is a command-line version manager specifically for Node.js, letting you install and switch between Node versions via the CLI with per-project .nvmrc support, but it covers only a single runtime rather than multiple languages or tools.

    ShellShell-Based
    Voir sur GitHub↗93,825
  • pyenv/pyenvAvatar de pyenv

    pyenv/pyenv

    44,895Voir sur GitHub↗

    This project is a command-line tool designed to manage multiple isolated language runtime versions on a single development machine. It enables users to install, switch between, and maintain different runtime versions, ensuring that project-specific requirements are met without conflicting with system-wide software. The tool distinguishes itself through a shim-based execution environment that intercepts system calls and dynamically routes them to the correct runtime version based on the current directory. By traversing the file system hierarchy to locate configuration files, it automatically a

    pyenv is a version manager for Python runtimes that uses shim-based switching, automatic per-project version detection, and shell integration, but it only supports Python rather than the multiple languages your search targets.

    ShellVersion ManagersBuild And DeploymentBuild Systems
    Voir sur GitHub↗44,895
  • schniz/fnmAvatar de Schniz

    Schniz/fnm

    24,020Voir sur GitHub↗

    This utility is a command-line tool designed for managing multiple Node.js runtime versions on local development machines. It functions as a cross-platform manager that enables users to install, switch, and synchronize runtime versions across Windows, macOS, and Linux environments. The tool automates environment configuration by detecting project-specific version requirements through directory-traversal resolution. It maintains consistency by dynamically updating shell paths and environment variables, allowing for automatic version switching as users navigate between different project directo

    fnm is a CLI tool for managing multiple Node.js versions with automatic per-project switching, fitting the version manager category, but it is limited to Node.js rather than supporting multiple programming languages as the search requests.

    RustNode.js Version ManagersCross-Platform Development ToolsRuntime Management & Utilities
    Voir sur GitHub↗24,020
  • nodenv/nodenvAvatar de nodenv

    nodenv/nodenv

    2,379Voir sur GitHub↗

    Manage your app's Node.js environment

    nodenv lets you install and switch between multiple Node.js versions with per-project and global settings, but it is limited to Node.js only and does not support multiple languages itself, so it partially fits the search for a multi-language version manager.

    ShellCommand Line UtilitiesEnvironment ManagementNode.js Version Management
    Voir sur GitHub↗2,379
  • sstephenson/rbenvAvatar de sstephenson

    sstephenson/rbenv

    16,711Voir sur GitHub↗

    rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby versions on a single machine and coordinates the selection of the active version based on the current directory or shell session. The tool functions as an extensible command line framework that intercepts executable calls using shell shims. These shims route requests to the selected language version, ensuring environment isolation by storing binaries in independent directories. The system includes capabilities for language runtime administration, including the ability to downlo

    rbenv is a shim-based Ruby version manager that provides per-project version selection and shell integration, but it is Ruby-only, missing the multi-language support this search asks for.

    ShellCommand Interception ShimsDirectory-Based Version ResolutionEnvironment Isolation
    Voir sur GitHub↗16,711
Comparez le top 10 en un coup d'œil
DépôtStarsLangageLicenceDernier push
asdf-vm/asdf25.1KGomit9 févr. 2026
volta-cli/volta13KRustNOASSERTION15 nov. 2025
rbenv/rbenv16.7KShellMIT22 juin 2026
yyuu/pyenv44.9KShellMIT14 juin 2026
pyenv-win/pyenv-win7KVBScriptmit20 févr. 2026
leoafarias/fvm5.5KDartMIT22 juin 2026
creationix/nvm93.9KShellMIT15 juin 2026
jdx/mise29.9KRustMIT23 juin 2026
gvcgo/version-manager1.3KGoMIT20 nov. 2025
sdkman/sdkman-cli6.8KShellApache-2.015 juin 2026

Related searches

  • un système de contrôle de version pour le code source
  • un système de contrôle de version pour le développement logiciel
  • Version control extensions
  • système de contrôle de version pour données ML
  • Git et outils de contrôle de version
  • un outil de versioning et de gestion de prompts
  • le versioning façon Git pour ma base de données
  • un client GUI pour parcourir et gérer des dépôts git