Jack Wallen shows you how to create a repository and sync it with a local computer, using the Git Annex GUI.
Recently, I walked you through the process of installing and using Git Annex (see: How to sync files between locations with git-annex). That process worked with the command line to set up sync locations (on different machines) using Git Annex.
This time, however, I'm going to show you how to do the same thing--only with the included GUI.
Now, before you get too excited, said GUI is actually a local web service. And, to make matters a bit more strict, that web service is only available through the machine's local host. In other words, you cannot access the Git Annex GUI from another machine on your network.
See: Quick glossary: Hybrid cloud (Tech Pro Research)
So, if you've installed Git Annex on a Linux machine without a desktop, you won't be using the GUI tool. That being the case, go back through the original article and install Git Annex on a desktop machine (or a server with a GUI).
With that said, let's fire up the GUI, create a new repository, and then sync said repository with a machine on your Local LAN.
Opening the GUI
There is only one way to reach the GUI: Open your desktop menu and search for Git Annex. The icon for the app should appear. Click on it, and your default web browser will open to the address http://127.0.0.1:36963/config/repository/new/firs... (Where XXX is a random string of characters). You cannot simply open a web browser and point it to http://127.0.0.1:36963/config/repository/new/firs... as it needs that random string of characters.
Using the GUI
When you first launch the GUI, you'll see a text area with a button labeled Make Repository (Figure A). In that text area a default location for a repository will have already been added. If you want to change that location, feel free, otherwise click the blue button.
Once you click Make Repository, the repo will be created, and you will be greeted with a new window allowing you to configure the repository, take action on the repository, or create a new repository (Figure B).
The first thing you should do is click the Configure button. In this new window (Figure C), you can set up a consistency check. Don't skip this step (If you do, you won't be able to pair with a local machine.).
Once you've configured a consistency check, click the Add button and then the Save button.
With your consistency check added, click the Configure tab at the top of the window. Click on the Repositories button, and you can then add more repositories or even connect Git Annex to a cloud account (Figure D).
Sharing a repo with other devices
Obviously, one of the best features of Git Annex is being able to share your repositories with a computer on your LAN. To do this via the GUI, click the Configuration tab, and then click Local computer. In the resulting window (Figure E), type a challenging passphrase that you can remember (such as a quote).
Go to the other machine and click Configuration | Local computer. Type the same phrase you just created, and click Start Pairing. Back at the original machine, you'll now see a Respond button, click that, and you'll once again be required to type your passphrase.
The pairing should complete, and your local repositories are now connected. They will automatically sync, so you can start working with that repository, trusting it will be in sync with your connected local machine.
A handy addition
And that's pretty much the gist of using the Git Annex GUI. The GUI tool is a very handy addition to Git Annex, one that those who prefer not always working in a terminal window will be thankful to have.
- How to use GitStorage, an easy-to-deploy appliance dedicated to housing your Git repositories (TechRepublic)
- Git repository vulnerability leads to remote code execution attacks (ZDNet)
- Resource and Data Recovery Policy (Tech Pro Research)
- How to set up a GitLab server and host your own Git repositories (TechRepublic)
- How to set up a Gitstorage appliance for in-house code collaboration (TechRepublic)
- Git: A cheat sheet (TechRepublic)