๐ŸŒŽFetch / Push issues

If you are having trouble pushing or fetching from a remote, this is likely related to git authentication. Here are a few configuration options you can try out, found in the project settings.

Available authentication methods

GitButler can be configured to use several different git authentication methods. You can switch between them in your project settings. You can try multiple diffirent options and see if any of them are appropriate for your setup.

Auto detect

This is the default setting. GitButler will attempt multiple authentication methods (which may make this option slower in some cases). If you have a GitHub integration set up, the app will also attempt to use that.

Use an existing SSH key

If already have an SSH key set up (eg. ~/.ssh/id_rsa), you can instruct GitButler to use it. In case the key is password protected, you can also provide the password to it (which will be stored locally).

Use locally generated SSH key

This option generates a new SSH key which will be stored locally in the application data dir. For this to work you will need to add the new public key to your Git remote provider.

Use a git credential helper

If your system is set up with a credential helper, GitButler can use that. For more info on git credential helpers, see this article

Not yet implemented authentication methods

FIDO security keys (YubiKey, etc.)

Tracked in GitHub issue #2661

Keys managed by 1Password

Tracked in GitHub issue #2779

Host certificate checks

There is an option to ignore host certificate checks when authenticating with ssh. This may be a helpful option to enable in some cases.

Other known issues

Git remote servers with a non-standard SSH port

In some cases, the git remote may be setup on a port number other than 22. If the port is set in your ~/.ssh/config file, GitButler will not be able to recognize that - tracked in GitHub issue #2700.

As a workaround you may set your remote in the SSH format (eg. ssh://git@example.com:3022/foo/bar.git)

Updating virtual branches when the respective remote has new commits

If you have added a remote branch to your active workspace in GitButler, or pushed a virtual branch to the remote, and new commits are added to the remote branch, there is currently no way to sync those new commits into the existing virtual branch in GitButler. This is being tracked in the GitHub issue #2649.

The current workaround is to undo any local commits and then stash your local changes manually using git stash and then delete the virtual branch that has upstream changes. Then you can update the trunk by clicking the update button next to the word "Trunk" in the sidebar on the left to make sure all new upstream changes are synced, then select the remote branch that has the new changes and click the "Apply +" button above the list of commits for the branch. Once the updated branch is applied to your working directory, you can manually git stash pop your stashed changes and then resolve any merge conflicts.

Help on Discord

If none of the available options helps, feel free to hop on our Discord and we will be happy to help you out.

Last updated