My current project is at a company that hosts its own git repository. I use the command line for my own work, so it was a surprise how much I rely on Github's web UI for code reviews and managing branches.
Here are some commands and tricks I didn't know about until the GUI was gone.
The client code isn't hosted on Github, so I have a separate set of SSH credentials. This article describes how to manage multiple SSH keys.
We use feature branches. I prefer to work small and merge often, so they pile up. It gets messy fast.
What are all the branch names?
git branchlists local branches.
git branch -rlists remote branches.
git branch -ashows all branches, local and remote.
git branch --merged to show which branches have been merged.
git branch --no-merged
shows branches which are still unmerged.
We prefer to remove branches once they're merged. Pushing the branch to the remote with a colon before the branch
git push origin :your_branchname_here - deletes it on the remote.
git branch -D
your_branchname_here deletes it locally.
For code reviews,
git log lists commits.
git show prints the diff from the last commit.