Skip to content

pyyupsk/gitbutler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎩 GitButler CLI Installer

A simple Bash script to install, update, or uninstall the GitButler CLI on Linux.

GitButler

✨ Features

  • πŸš€ Install or update the latest version of GitButler CLI
  • πŸ” Validates downloads from trusted domains
  • 🎯 Supports both x86_64 and aarch64 architectures
  • πŸ”„ Automatic version detection and smart upgrades
  • 🧹 Clean uninstallation with a single command
  • πŸ“‹ Clean and informative logs with symbols

πŸ”§ Requirements

Make sure the following tools are installed before running the script:

  • curl - For downloading files
  • jq - For parsing JSON
  • sudo - For system-wide installation

πŸ’» Usage

Basic Installation

Install GitButler CLI:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash

Advanced Options

Force installation without confirmation prompts:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --force

Quiet installation with minimal output:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --quiet

Combined force and quiet installation:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --force --quiet

View help information:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --help

πŸ”„ Installation Flow

  1. Validates required dependencies (curl, jq, sudo)
  2. Detects system architecture (x86_64 or aarch64)
  3. Fetches the latest GitButler CLI version from the official API
  4. Checks for existing installation and compares versions
  5. Downloads the appropriate binary from trusted source
  6. Installs to /usr/local/bin/but
  7. Provides shell completion setup instructions

🎯 Post-Installation

After installation, enable shell completions by adding the following to your shell configuration:

Zsh

echo 'eval "$(but completions zsh)"' >> ~/.zshrc
source ~/.zshrc

Bash

echo 'eval "$(but completions bash)"' >> ~/.bashrc
source ~/.bashrc

Fish

echo 'but completions fish | source' >> ~/.config/fish/config.fish
source ~/.config/fish/config.fish

πŸš€ Usage Examples

Once installed, you can use the but command:

# View help
but --help

# Check version
but --version

# Initialize GitButler in a repository
but setup

# View status
but status

# Create a commit
but commit

# Push changes
but push

# And more...

For full documentation, visit: https://docs.gitbutler.com/cli-overview

🧹 Uninstallation

To completely remove GitButler CLI:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --uninstall

Force uninstallation without confirmation:

curl -fsSL https://pyyupsk.github.io/gitbutler/install.sh | bash -s -- --uninstall --force

This will remove:

  • /usr/local/bin/but

Note: Configuration files in your home directory (if any) are preserved.

πŸ”’ Security

  • All downloads are validated to come from https://releases.gitbutler.com
  • The script uses secure temporary directories with automatic cleanup
  • However, note that GitButler does not provide checksums for Linux CLI builds, so file integrity cannot be cryptographically verified

πŸ› οΈ Troubleshooting

Issue Solution
Missing dependencies Install required tools: curl, jq, sudo using your package manager
Command not found Ensure /usr/local/bin is in your PATH: echo $PATH | grep "/usr/local/bin"
Permission denied The script requires sudo privileges. You'll be prompted for your password during installation.
Architecture unsupported Only x86_64 and aarch64 are supported. Check your architecture with uname -m

Install Missing Dependencies

# Debian/Ubuntu
sudo apt install curl jq

# Fedora/RHEL/CentOS
sudo dnf install curl jq

# Arch Linux
sudo pacman -S curl jq

# Alpine Linux
sudo apk add curl jq

# openSUSE
sudo zypper install curl jq

🀝 Contributing

We welcome contributions!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'feat: add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Please follow existing code style and keep your changes focused.

πŸ’– Credits

  • GitButler CLI is developed by GitButler
  • This installer is unofficial and created by @pyyupsk to streamline Linux installation and management

πŸ“š Resources

⚠️ Disclaimer

This installation script for GitButler CLI is not officially associated with, endorsed by, or affiliated with GitButler (https://gitbutler.com), the original developers of GitButler. This script is provided as an independent, third-party tool to facilitate installation of the software.

The script is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the script is with you.

By using this installation script, you acknowledge that you are using an unofficial installation method and accept all associated risks. Please visit https://gitbutler.com for official downloads and installation methods.

πŸ“ License

This installation script is provided as-is for convenience. GitButler itself is licensed by its respective owners.


Made with ❀️ by @pyyupsk

About

🎩 A simple Bash script to install, update, or uninstall the GitButler CLI on Linux. Supports --force, --quiet, and --uninstall modes. Unofficial installer.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages