Git


Git Repository Access

Every user is given the option to add public keys to the authorised users list to access their git repositories, and also access the main Teknik repositories.

To add a public key, just login, click your username on the top navbar and click 'Profile'. This will bring you to your profile page where you can add your public key or edit your existing one.

Public Key Format

The Public Key must be in the following format: ssh-rsa [0-9A-Za-z/+]

Creating a Git Repository

Once you have a public key added, you will have the ability to create a repo. To do so, you just need to clone the repo you want to create, and the repo will be created.

~$git clone git@teknik.io:u/[username]/[repository_name]

Viewing a user's git repositories

You can also view a list of the git repo's a user has by visiting: /u/[username]/

Clone a Repository

To clone another user's repository to a local copy, perform the following command: ~$git clone git://teknik.io/u/[username]/[reponame]

Fork a Repository

When you fork a user's repository, you can make changes, and then send a pull request to the user to accept your changes.

To fork the user's repo you will need to perform the following command:

~$ssh git@teknik.io fork u/[username]/[repository] u/[your username]/[repository]

Submit a Pull Request

In order to submit a pull request, you must have a forked repository of the original authors repository already in your personal repositories.

Once you have made your edits and pushed your commits, execute the following command:

~$git request-pull [original_commit] git://teknik.io/u/[your username]/[repository] [branch name]

You will be given an output that will describe the pull request. This must then be emailed to the original author to be considered for being pulled into the original repository. The original author's email is [username]@teknik.io

Delete a Repository

To delete a repository, execute the following commands:

~$ssh git@teknik.io D unlock u/[username]/[repository]
~$ssh git@teknik.io D rm u/[username]/[repository]

More Information

For more information on the commands available to you, just type: `~$ssh git@teknik.io help`

Examples

Clone a Repo (Git Daemon): ~$git clone git://teknik.io/u/[username]/[repository_name]
Clone a Repo (SSH): ~$git clone git@teknik.io:u/[username]/[repository_name]