← 全部工具

merge-drivers

热度 65 更新于 开发与构建

Merge Drivers CLI: A command-line interface to conveniently manage custom git merge drivers

npmauto-collected

安装

npm
npm install -g merge-drivers

通过 npm 安装。

Merge Drivers CLI

<img height="125" src="https://github.com/charpeni/merge-drivers-cli/assets/7189823/88ff5ee8-ea54-4c0e-b51e-39c9474d1990" alt="CLI's logo" align="right"

A command-line interface to conveniently manage custom git merge drivers.

<br /

Why

Git offers the ability to define two types of custom merge drivers. The first one is global, accessible through ~/.gitconfig. The second one is local, accessible through .git/config. The problem is that the configuration of these drivers is not very convenient as neither of these solutions are versioned.

This CLI aims to solve this problem by providing a simple and intuitive interface to manage these drivers.

📚 Use Custom Merge Driver to Simplify Git Conflicts.

Usage

Merge drivers are defined within a configuration file that should be living at the root of your project named as .merge-drivers.yml. This file is a YAML file that should contain a list of drivers (under merge-drivers key). Each driver is defined by a key, name, and a driver (command). Here is an example of such a file:

merge-drivers:
  yarn:
    name: 'yarn merge driver'
    driver: 'yarn install'

From there, you will be able to use the following commands:

Ideally, we would like to automate the installation of those merge drivers.

[!WARNING] It could be achieved by using a prepare script in your package.json file. However, it may not possible depending on your package manager (e.g., Yarn 2 and above don't execute prepare, so you would want to look into postinstall, see Husky documentation for Yarn 2+ as a good reference).

Install

Installs merge drivers based on the provided config.

[!NOTE] Automatically executes clean command before installing, unless --no-clean is specified.

npx merge-drivers install [merge-drivers...] [--no-clean]