Skip to content

iml885203/DotnetMergeTool

Repository files navigation

Merge Tool

A powerful Git branch merging tool that makes your merge workflow smoother and safer.

Features

  • Smart branch merging
  • Enhanced error handling
  • Auto-rollback to original branch on errors
  • Quick push option support
  • Cross-platform support (Linux, MacOS, Windows)
  • Amazon Q autocomplete (MacOS only)

Table of Contents

Usage

MergeTool {branch}           # Merge specified branch
MergeTool {branch} --push    # Merge and push to remote

Aliases:

gmi {branch}    # Same as MergeTool {branch}
gmip {branch}   # Same as MergeTool {branch} --push

Installation

Linux

bash -c "$(curl -fsSL https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/install-linux.sh)"

MacOS

bash -c "$(curl -fsSL https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/install-osx.sh)"

Windows

Open PowerShell as Administrator and run the following command:

powershell -command "& {Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/install.ps1'))}"

Uninstall

Linux

bash -c "$(curl -fsSL https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/uninstall.sh)"

MacOS

bash -c "$(curl -fsSL https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/uninstall.sh)"

Windows

powershell -command "& {Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/iml885203/DotnetMergeTool/main/tools/uninstall.ps1'))}"

Why need Merge Tool?

Merge Tool offers the following advantages:

  • More user-friendly interface
  • Robust error handling mechanism
  • Auto-rollback feature to prevent stuck states after merge failures
  • Improved development efficiency and code quality

CLI completions (macOS only)

Contributing

We welcome Pull Requests to improve this tool! Here's how to contribute:

  1. Fork this project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details