# git

> An overview of git (the version control system) from my perspective and experience.

Source: https://curiouslychase.com/engineering/git/

I use `git` for version control.

# Tips

## Rename a branch...

To rename a branch, while on the current branch, run the following in the terminal (replacing `newBranchName` with the branch name you want the current branch to be called):

```
git branch -m newBranchName
```

## Undo a commit and add more to it

Sometimes I find myself committing a small chunk of code that isn't quite right. I'll either refactor it or fix it, but I don't want to create a new "fix" commit.

When the commit was the most recent commit I made _and_ **I haven't pushed yet**, I'll do a soft reset:

```
git reset --soft HEAD^
```

A soft reset removes the most recent commit and the files that were in that commit are staged. You can then add your fix and recommit with the same message.

# Relevant Notes
- [Why Git May Be Ignoring You When You Downcase Filenames](https://curiouslychase.com/posts/why-git-may-be-ignoring-you-when-you-downcase-filenames/)
- [Deploy Code with Git Push and a Post Receive Hook](https://curiouslychase.com/engineering/deploy-code-with-git-push-and-a-post-receive-hook/)
