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 ### Find your repository
18 Go to Workbench → Access → Repositories.
20 [https://workbench.{{ site.arvados_api_host }}/repositories](https://workbench.{{ site.arvados_api_host }}/repositories)
22 The "push_url" column will contain a string like `git@git.{{ site.arvados_api_host }}:example.git`.
24 This url can be used to pull and push commits between your Arvados
25 hosted repository and your VM/workstation.
27 ### Make sure your SSH credentials are available
29 Git requires you to authenticate with your SSH private key. The best
30 way to make this happen from a VM is to use SSH agent forwarding.
32 When you log in to your VM, use the `-A` flag in your `ssh` command,
37 At the shell prompt in the VM, type `ssh-add -l` to display a list of
38 keys that can be used. You should see something like this:
40 2048 a7:f0:fb:ad:ba:66:fd:c2:8e:58:49:3b:6b:2a:1f:c3 example@host (RSA)
42 ### Clone your repository
44 This step copies your Arvados-hosted repository to a new directory on
47 Log in to your VM (using `ssh -A`!) and type:
49 git clone git@git.{{ site.arvados_api_host }}:EXAMPLE.git
51 (Replace "EXAMPLE" with your own repository's name, or just copy the
52 usage example shown on the Repositories page.)
54 ### Commit to your repository
56 This part works just like any other git tree.
60 git commit -m "Added section explaining what foo isn't"
62 ### Push your commits to Arvados
64 From within your source tree, type:
66 git push origin master