<commit_before>The best way to contribute to EDDiscovery is to create a fork the main project, make changes in your local fork and push them back up as Pull Requests using git.

Figuring out Git can be a bit of a challenge to those more familiar with traditional server side SCMs like Subversion. It's probably easiest to try and forget everything you know and start again and work through a good tutorial or screencast. One such example:

http://gitimmersion.com/

A lot of the trickier things you will need to do are commonplace, so here is a cookbook on solving this little problems.

# Git Cookbook

I'm also go to give instructions using the command line tool [Git Bash](https://git-scm.com/downloads). There are other ways to use Git, but it'll be easy to explain it this way.

I'm going to use https repo urls, but ssh works even better if you have the public key/private key thing set up right.

Most of these examples assume you have a remote to the main repo called "**upstream**" The initial recipe explains how to create the upstream remote.

#### Recipes:

* [Getting pull request capable for the first time](#getting-pull-request-capable-for-the-first-time)
* [Resyncing with EDDiscovery/EDDiscovery repo](#resyncing-with-eddiscoveryeddiscovery-repo)
* [Pull requests](#pull-requests)
* [Going nuclear: Resetting the master branch](#going-nuclear-resetting-the-master-branch)

### Getting pull request capable for the first time

For all this recipe we're going to pretend to use a fictional github account called **YOUR_GITHUB_NAME_HERE**. Substitute that username for your own.

* Go to Finwen's EDDiscovery page. Make your own fork. Do this from here: 

https://github.com/EDDiscovery/EDDiscovery

* Go to your clone repo page: 

https://github.com/YOUR_GITHUB_NAME_HERE/EDDiscovery

* Clone your forked repo from Git Bash. Create an upstream remote to the main remote repo
<commit_msg>Updated Contributing to EDDiscovery Using Git (markdown)<commit_after>The best way to contribute to EDDiscovery is to create a fork of the main project, make changes in your local fork and push them back up as Pull Requests using git.

Figuring out Git can be a bit of a challenge to those more familiar with traditional server side SCMs like Subversion. It's probably easiest to try and forget everything you know, start again and work through a good tutorial or screencast. One such example is:

http://gitimmersion.com/

A lot of the trickier things you will need to do are commonplace, so here is a cookbook on solving this little problems.

# Git Cookbook

I'm also going to give instructions on using the command line tool [Git Bash](https://git-scm.com/downloads). There are other ways to use Git, but it'll be easier to explain it this way.

I'm going to use https repo urls, but ssh works even better if you have the public key/private key thing set up right.

Most of these examples assume you have a remote to the main repo called "**upstream**" The initial recipe explains how to create the upstream remote.

#### Recipes:

* [Getting pull request capable for the first time](#getting-pull-request-capable-for-the-first-time)
* [Resyncing with EDDiscovery/EDDiscovery repo](#resyncing-with-eddiscoveryeddiscovery-repo)
* [Pull requests](#pull-requests)
* [Going nuclear: Resetting the master branch](#going-nuclear-resetting-the-master-branch)

### Getting pull request capable for the first time

For all this recipe we're going to pretend to use a fictional github account called **YOUR_GITHUB_NAME_HERE**. Substitute that username for your own.

* Go to Finwen's EDDiscovery page. Make your own fork. Do this from here: 

https://github.com/EDDiscovery/EDDiscovery

* Go to your clone repo page: 

https://github.com/YOUR_GITHUB_NAME_HERE/EDDiscovery

* Clone your forked repo from Git Bash. Create an upstream remote to the main remote repo

{'fraction_non_alphanumeric': 0.06347150259067358, 'fraction_numerical': 0.0, 'mean_word_length': 4.523605150214593, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2258873', 'n_tokens_mistral': 1082, 'n_tokens_neox': 1018, 'n_words': 542}