10 Git is a revision control system. There are lots of resources for
11 learning about git (try [Try Git](http://try.git.io) or [Top 10 Git
13 Beginners](http://sixrevisions.com/resources/git-tutorials-beginners/)). Here
14 we just cover the specifics of using git in the Arvados environment.
16 > "git is used in arvados for ..."
18 ### Find your repository
20 _This needs to have a section on creating repositories_
22 Go to Workbench → Access → Repositories.
24 [https://workbench.{{ site.arvados_api_host }}/repositories](https://workbench.{{ site.arvados_api_host }}/repositories)
26 The "push_url" column will contain a string like `git@git.{{ site.arvados_api_host }}:example.git`.
28 This url can be used to pull and push commits between your Arvados
29 hosted repository and your VM/workstation.
31 ### Make sure your SSH credentials are available
33 Git requires you to authenticate with your SSH private key. The best
34 way to make this happen from a VM is to use SSH agent forwarding.
36 When you log in to your VM, use the `-A` flag in your `ssh` command,
41 > The .q is inconsistent with the earlier tutorial which sets up
42 > the .arvados configuration shortcut
44 At the shell prompt in the VM, type `ssh-add -l` to display a list of
45 keys that can be used. You should see something like this:
47 2048 a7:f0:fb:ad:ba:66:fd:c2:8e:58:49:3b:6b:2a:1f:c3 example@host (RSA)
49 ### Clone your repository
51 This step copies your Arvados-hosted repository to a new directory on
54 Log in to your VM (using `ssh -A`!) and type:
56 git clone git@git.{{ site.arvados_api_host }}:EXAMPLE.git
58 (Replace "EXAMPLE" with your own repository's name, or just copy the
59 usage example shown on the Repositories page.)
61 > The repositories page on the workbench under "access"
63 ### Commit to your repository
65 This part works just like any other git tree.
69 git commit -m "Added section explaining what foo isn't"
71 ### Push your commits to Arvados
73 From within your source tree, type:
75 git push origin master