Sync, fetch, pull and push
Sync
Sync (⇧⌘S) fetches, pulls and then pushes the current branch, after showing you what will happen. The button shows how many commits you are ahead (↑) and behind (↓). On a branch that is not on the server yet it becomes Publish.
One step at a time
The arrow beside Sync, and the Repository menu, offer each step on its own:
- Fetch downloads what is new on the server without changing your branches.
- Fetch… lets you choose the remote and options.
- Pull… brings the server's commits into your branch (merge or rebase: the default is in Settings › Git & signing, and the sheet lets you change it each time).
- Push… sends your commits.
- Force Push with Lease… replaces the branch on the server. Ramo lists the commits that would be lost on the server and refuses if someone pushed in the meantime.
Every action except Fetch shows a sheet first and waits for your yes.
Fetch on its own
Fetch remotes automatically in Settings › General fetches in the background, from every 5 minutes to every hour. The status bar shows when Ramo last synced.
Passwords and keys
Ramo uses your Git setup: the macOS keychain or your credential helper for HTTPS, your SSH agent for SSH. If something works in Terminal but not in Ramo, turn on Import variables from your login shell in Settings › Environment and press Test environment.