diff --git a/new_projects.md b/new_projects.md index 1fa11db..8f1ce5f 100644 --- a/new_projects.md +++ b/new_projects.md @@ -1,12 +1,54 @@ # New projects -## Initializing the repository -1) Create the repository on at `git.tams.tech/tws` first and clone -2) Push an empty commit to the `main` branch with the message 'init': - `git commit --alow-empty -m 'init'` -3) All further work to be merged from a branch on a fork - 1) Return to the web interface at `git.tams.tech/tws` and click the "fork" button - 2) Clone your forked repo - 3) Add the upstream (ex: `git remote add upstream ssh://git@git.tams.tech:2222/TWS/meta-tasks.git`) - 4) You can then fetch upstream changes and merge them to your fork - 5) Opening PRs should typically be from your fork's work branch to the upstream main +## Creating the main repository +This will initialize and create an empty git repository. +1. Visit `git.tams.tech/tws` and click "`New Repository`". +2. Set the 'Owner' to `TWS`. +3. Give the repository/project a name. Good repository names use short, memorable and unique keywords. +4. _(optional but recommended)_ Enter a short description of what this repo does / is for. +5. Scroll down to the bottom of the page and press "`Create Repository`". + +## Clone the main repository +Here we will clone the main repository and do some initial setup. +1. Clone the repository to your machine, where `` is the name of the project. +``` +git clone https://git.tams.tech/TWS/ +cd +``` + +2. Create a `README.md` file. This file should have a longer description of what the project is. You can be as detailed as you like. +``` +touch README.md +``` + +3. Create a `.gitignore` file. This file should include any file, extension, directory, or pattern you wish to **NOT** be tracked by git. +``` +touch .gitignore +``` + +4. Push the initial work done so far. +``` +git add . +git commit -m init +git push origin main +``` +5. Once the changes can be seen at `https://git.tams.tech/TWS/`, you can delete the local repository on your computer. + +## Forking the project +All work to a project should ideally be done in a fork and not in the main repository. +This write up will walk you through the process of forking through the web interface. + +1. Visit `https://git.tams.tech/TWS/` and in the upper right hand corner press "`Fork`". +2. Leave everything default as all the information for 'Owner', 'Repository Name' & 'Description' should be correct. Press "`Fork Repository`". +3. You should now be able to visit `https://git.tams.tech//`, where `` is your username & `` is the name of the project. +4. Clone the repository to your machine. +``` +git clone https://git.tams.tech// +``` +5. Add the main repository as upstream. This will allow you to fetch upstream changes and merge them into your fork. +``` +git remote add upstream https://git.tams.tech/TWS/ +``` +**WARNING**: Do **NOT** push to upstream unless you have gone through a Pull Request! Only use the upstream remote to `PULL` in new changes. + +You can now work on the project, commit changes, and submit Pull Requests from your fork to the main upstream repository repository.