Working with Git

Fetch, pull, push and LFS locks

Working with remotes, credentials and Git LFS file locks.

Fetch, Pull and Push are in the toolbar on every page.

Action Key Notes
Fetch ⌘⇧T Fetches every remote, and drops branches deleted there
Pull ⌘⇧P Shows ↓2 when there are commits to bring in
Push ⌘P Shows ↑1 when there are commits to send. A new branch shows Publish

Pulling and pushing

  • Pull follows your pull.rebase and pull.ff settings. If neither is set and your branch has diverged, Lusca asks once and remembers the answer.
  • A force push asks first. It only replaces the remote branch if it’s still where you last fetched it.
  • Lusca fetches by itself every 15 minutes. If a fetch fails, the fetch button turns amber instead of interrupting you. Set auto_fetch_minutes in the settings file to change how often, or to 0 to turn it off.

Credentials

Lusca runs your own Git, so your keychain, SSH agent (1Password’s included) and credential helpers work as they do in your terminal, even when you open Lusca from the Dock. When Git needs a passphrase, password or new host key, Lusca asks in the window.

When things get stuck

  • A stalled connection is given up on rather than waited on forever.
  • Anything slow, such as a hook or a signing step, gets Cancel in the title bar after a second.

Git LFS file locks

  • A file someone else has locked shows Locked by Ana, or an amber padlock. Your own locks show a blue padlock.
  • Right-click a file to Lock File or Unlock File. Commit or discard your changes to it before unlocking.