Skip to content

Git various

Add-ons and integrations

GitKraken

GitKraken is a GUI client to manage git repositories, and can integrate with issue trackers like Github, Gitlab, Trello.

With a small script it is easy to open a repository from the command line using either git-kraken or git kraken.

In for instance ~/bin/git-kraken:

# Open the repository for the current directory in GitKraken.
GIT=`git rev-parse --absolute-git-dir` && gitkraken -u gitkraken://repo$GIT

meld (diff tool)

Meld^ is a diff and merge tool that can work with git.

View differences with previous version with meld

meld <file-with-changes>
meld . # <1>
1. Compare current directory with last git version

daff (CSV diff)

Daff^ is a data diff tool to compare CSV files.

Install and use git daff

npm install daff -g # ①
daff git csv # ②
git diff <file.csv>
1. Also available via ’pip, gem, and composer. 2. Set up git to use daff.

git-big-picture

Git-big-picture^ visualises git commits via Graphviz. Helpful to get an overview of tags and branches.

Install and use git big-picture

pip install git-big-picture
git big-picture

npm-merge-driver (npm and yarn lockfiles)

Npm-merge-driver^ automatically resolves merge conflicts in npm and yarn lockfiles.

Install npm-merge-driver

npx npm-merge-driver install --global
npx npm-merge-driver install --global \
    --driver-name yarn-merge-driver \
    --driver "npx npm-merge-driver merge %A %O %B %P -c yarn" \
    --files yarn.lock

delta

Delta provides syntax highlighting and decoration options for git diff output.

commitlint and standard-version

See commit-changelog-version

Submodule

Remove a submodule

  1. Remove it from git config

    $ git submodule deinit -f path/to/module

  2. Remove it from git submodules

    $ rm -rf .git/modules/path/to/submodule

  3. Remove it from gitmodules and disk

    $ git rm -f path/to/submodule