Skip to content
Etonymdocs

Git in Etonym

Etonym does not include its own Git. It runs the Git installed on your PC, version 2.27 or later. Everything you already set up for Git keeps working: SSH keys, the Windows credential manager, proxy settings, hooks and commit signing behave as they do in a terminal.

Etonym never asks for or stores a password. When a remote needs you to sign in, Git’s credential manager handles it, which may open a sign-in page in your browser.

If Git is missing or older than 2.27, the Git tab says so. Choose Install Git to open the Git download page, run the installer with its default options, then choose I’ve installed it. You do not need to restart Etonym.

Git needs your name and email to make a commit. The line right above the message box in the Git tab shows the name and email your next commit uses. If none are set, it says No name and email. Commits will fail.

To change them, choose that line (or run the command Git name and email). The Commit as fields open in its place:

  • Uncheck Use global git settings, fill in Your name and Your email, and choose Save. Only this repository uses them.
  • Check Use global git settings and choose Save to go back to the name and email from your global Git settings.

Etonym never changes your global Git settings. If you commit without a name and email, the commit stops and the same fields open. Fill them in, choose Save, and commit again.

The Git tab has one layout. Its labels are plain Git terms, so what you read in Git guides applies here too. Next to its name, the tab shows the number of changes, then ↓ when there are commits to pull and ↑ when there are commits to push. They stay current while another tab is open.

From top to bottom:

  • Branch button with the current branch. Use it to switch to a branch or create one (command Switch branch…). Manage branches… at the end of its list opens the Branches view. It lists branches On this computer and Only on the remote, shows the remote branch each one follows or Not published, and lets you switch, merge and delete branches.
  • Repository history: the last 200 commits in the repository.
  • Fetch, Pull and Push. ↓ and a number before Pull, and ↑ and a number before Push, count the commits waiting on each side. A button is turned off when there is nothing to do. When the repository has no remote yet, one Publish… button takes the place of all three. When it has a remote but the current branch has no remote branch yet, Publish takes the place of Push.
  • Changes: every changed file, with a checkbox to include it in the next commit. During a merge, a Merge in progress group appears under the list.
  • The name and email your commits use (see Set up Git), the message box, then Commit. Commit & Push appears next to it when the branch has a remote branch.

There is no refresh button. The tab reads Git’s status again when you open it, when files change, and when you come back to the Etonym window.

When a diff, the conflict view, Repository history or the Branches view takes the place of the note, the path line shows the file being resolved or stays empty, and the note buttons (history, backlinks, view) are hidden. Switching the side panel to Files or Search closes a diff, Repository history or the Branches view and brings back the note. The conflict view stays open.

If the opened folder is a subfolder of a larger repository, Etonym lists and commits only the files inside that folder.

See Commit and push for the everyday steps.

When the folder is not a Git repository, the Git tab offers Initialize repository and Clone…. Initialize repository runs git init in the folder and adds nothing else. Etonym never runs it unless you choose it.

To start from a repository that already exists on a server, see Clone. To put a new folder on a server, see Publish.

The app does not send your notes anywhere. Git uses the network only:

  • when you choose Fetch, Pull, Push, Publish or Clone, and
  • for a quiet git fetch when a folder opens and when you open the Git tab, if the current branch has a remote branch. This fetch only updates the counts. It never changes your files or branches, and if it fails you see nothing.

A remote command that runs longer than three minutes is stopped, and Etonym tells you to check the network or sign-in. Cloning may take up to ten minutes.

  • It does not commit for you. Every commit is one you make.
  • It does not merge on its own. Pull only fast-forwards; see Get changes from others.