Good security hygiene includes keeping your credentials separate. You should have separate identities for work and personal tasks. Unfortunately, that’s not so easy with SSH and Git. If you generate multiple SSH keys and try to clone a GitHub repository, you may find that you don’t have access — even though you have the correct […]
Recently, I started to customize my Git configuration to fit my workflow. I’ve found a few configurations that should be the default for anyone who installs Git: git config --global pull.rebase true git config --global fetch.prune true git config --global diff.colorMoved zebra I’ve had these in place for the past few months, and I’d encourage […]
It’s likely you have heard about git-bisect plenty of times before. Hopefully, it’s not a tool that you need to reach for often, since it essentially indicates that there’s something wonky or broken, and your best hope for identifying the actual problem is to look back in time. Despite this, sometimes git-bisect is the right […]
It is no secret that git push --force is dangerous. Without question, it will replace the remote with your local changes—and it won’t stop to check if that will override any changes pushed up to remote in the process. When working in a shared repository, this spells danger for even the most careful developer team.
If you've ever worked on a team with more than a couple of people, you've probably been involved in a discussion about branching strategies. Git-flow, GitHub-flow, Microsoft-flow, and many others all try to minimize disruption and conflict when making changes to a large codebase. Recently, I've been playing with a new strategy that may help […]
Git has some popular features that make it easy to rewrite the commit history, and in some cases, this is a benefit. However, these features can be unnecessarily confusing, and if used incorrectly, they can cause data loss.
Recently, I’ve been looking for ways to improve the code health of a project I’m working on. It’s a pretty big team, so things are moving quickly. While the codebase is in good shape now, little things can quickly spiral out of control.
Like many other developers at Atomic, my Git workflow relies heavily on the command line. I recently started using Visual Studio Code since my editor of choice, Spacemacs, did not have great React and TypeScript support. Since I started using VS Code’s Git interface, I have seen an improvement in my productivity. Here are some […]
Git is a fantastic tool, used by millions of people around the world. While Git GUIs can be useful tools, using git on the command line has a higher ceiling for productivity, especially when one can use aliases or refer to their own command history. Today, I’m going to go over a few Git features […]