git-mob-vs-code icon indicating copy to clipboard operation
git-mob-vs-code copied to clipboard

Co-author commits. A quick way to add co-author metadata to a Git commit via VS Code source control panel.

VS Code Git Mob logo Co-author commits

Visual Studio Marketplace Installs

VS Code extension to easily co-author a commit message from the source control panel.

Helpful when pair programming.

Git Mob in action

  1. Install
  2. Quick start
  3. Features
  4. Notable changes
  5. Settings
  6. Contributing

Install

Open VS Code and search for "git-mob" in Extensions panel.

OR

Via the terminal code --install-extension RichardKotze.git-mob

Available in VS Code marketplace and open VSX registry

If you also use git-mob cli they work fine together.

Quick start

Key commands

Select co-authors - CTRL+shift+p or ⌘+⇧+p -> "Select co-authors". Use the multi-selector to add and remove co-authors.

Solo - clear all selected co-authors: CTRL+shift+p or ⌘+⇧+p -> "Solo: remove all co-authors"

Add new co-authors from repository contributors or add directly to your co-authors file .git-coauthors.

Saving your co-authors

To keep track of co-authors git-mob uses a JSON file called .git-coauthors, and will try to find it in the following directories:

  1. If GITMOB_COAUTHORS_PATH environment variable is set this will override any other settings.
  2. If the current Git repository has a .git-coauthors file in the root directory.
  3. The default is the users home directory at ~/.git-coauthors.

Features

  • Append multiple co-authors to a commit message
  • Select multiple co-authors (shift or ctrl or ) in SCM panel view
  • Easily add co-author data by searching repository contributors co-authors from the "More Authors" list.
  • After a commit remove all selected co-authors
  • Workspace support, multiple Git repositories
  • Search and add co-authors from GitHub using anonymous email
  • Change primary author
  • Right-click and copy co-author data.
  • Add emojis to commits (Gitmojis)
  • Configurable see setting options

Notable changes:

  1. Global Git Mob meaning switch between projects will have same co-authors selected. (v1.17.0)
  2. prepare-commit-msg hook support removed (v1.12.0)

Add new co-authors

Option 1: CTRL+shift+p or ⌘+⇧+p -> "Add new co-author". Fill in all input fields.

Option 2: ctrl+shift+p or ⌘+⇧+p -> "Open .git-coauthors file" or use UI to open co-authors file .git-coauthors.

Add from repository contributors

Click the plus + button on an author in More Authors list.

Search repository contributors co-authors

Click the search icon on the More Authors section or CTRL+shift+p or ⌘+⇧+p -> "Search Git repository for co-authors".

image

Workspace support

Select one of multiple open Git repositories and add co-author metadata to source control input field. You can have different co-authors applied to all the open Git repositories.

Git Emojis

Using the standardised list from Gitmoji.

Search and select an emoji to add to the Git message input field.

CTRL+shift+p or ⌘+⇧+p -> "Search Gitmojis - emojis"

git emojis select list

Change primary author

CTRL+shift+p or ⌘+⇧+p -> "Change primary author"

Settings

Post commit -> Solo

After a commit remove selected co-authors. If you commit in the command-line the UI will update as well.

Default: false

Author list -> Expand more authors

Expand 'More Authors' tree when UI starts.

Default: true

Author list -> More Authors To Co-authoring

Add a new author directly to 'Co-authoring' from 'More Authors'.

Default: true

Github -> Personal Access Token

Optional: if you want the users public email then you will need the PAT.

Default will return the anonymous GitHub email.

  1. Visit GitHub > settings > tokens
  2. Click "generate new token"
  3. Select "user:read" (This allows GitMob to fetch a users public email)

Default: <empty>

Co-authors -> Sort direction

Co-author list sorting direction.

Default: ascending