Using Git Without Github's GUI
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.
Use 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
name - 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.
Finally, sometimes a picture saves a thousand words. Git clients like Source Tree or Tower offer a nice visual map of the state of a repository, especially one with several prolific contributors.