<commit_before>=  Basic UofC Git Workflow

This is just a quick overview of the commands that would be used most frequently:

*  Make your code changes
*  `git status` -> Displays the files that have been changed. Green files means that it has been added. Red means that it is not added.
*  `git add <file>` -> Add files so they could be committed.
*  `git commit -m 'Enter a logical git message'` -> Make a commit local to your computer
*  `git pull` -> Pull down any changes that were done by other people
*  `git push` -> Send your changes so other people can use them.

Here are some other commands that are still used frequently:

*  `git checkout -b <newBranchName>` -> Make a new branch local to your computer
*  `git checkout <branchName>` -> Go to an existing branch
*  `git push --set-upstream origin <newBranchName>` -> Pushes a new branch from your computer to the 'origin' (Github) for the FIRST time. All subsequent pushes can just use the `git push` command as listed above.

There are some great Git guides floating around. Check out these:

*  http://rogerdudler.github.io/git-guide/
*  https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
*  https://guides.github.com/<commit_msg>Update Git guide for clarity<commit_after>=  Basic Git

== Common Commands

This is just a quick overview of the commands that would be used most frequently:

*  `git add <file>` adds files to the staging area so they can be committed.

*  `git commit -m 'Enter a logical git message'` makes a commit local to your computer with everything that's been "added", i.e. in the staging area.
When writing the commit message, describe what changes are in this commit.
For example if you added a updated a README for clarity, you might use `git commit -m 'Updated the README for clarity`.
Try to be descriptive so that the history is easier to track.

*  `git push` sends your committed changes upstream, in our case to GitHub.

*  `git status` displays the files that have been changed.
Green files means that they have been "added" and are in the staging area.
Red means that they have not been "added".

*  `git pull` pulls down any changes that were done by other people.

*  `git checkout <branchName>` changes branches, add the `-b` flag to move to a new branch.

*  `git push --set-upstream origin <newBranchName>` pushes a new branch from your computer to the 'origin' (Github) for the FIRST time.
All subsequent pushes can just use the `git push` command as listed above.

== Usual Workflow for Making Changes

The usual workflow for pushing changes with Git is as follows.

. Make your changes and save them.
. Use `git add <file>` and add all the files whose changes you want committed.
. Use `git status` to double check what files you've added are in the staging area.
Anything green will be committed.
. Then use `git commit -m 'Your descriptive message'` to commit all the staged changes (green files).
Make sure to write a descriptive commit message!
. Finally use `git push` to push your changes up to Github.

After pushing, your changes should be updated on the Server (Github).

== Further Resources

There are some great Git guides floating around. Check out these:

*  http://rogerdudler.github.io/git-guide/
*  https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
*  https://guides.github.com/
{'fraction_non_alphanumeric': 0.07657521857099789, 'fraction_numerical': 0.0006029544769369913, 'mean_word_length': 3.8156748911465894, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 19, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6637302', 'n_tokens_mistral': 940, 'n_tokens_neox': 900, 'n_words': 502}