New to Git? Start With the Right Tools

When Alyson La joined GitHub in 2012 as its first staff accountant, she had never looked at code. Her journey from that starting point to her current role as a data scientist on GitHub’s product analytics team came through learning Git and GitHub the hard way: one merge conflict at a time. Now she shares the workflow lessons she wishes she’d had from day one.

Choose Your Interface—But Try Both First

Beginners often feel pressured to pick between the command line and a GUI client. La’s advice: don’t commit to one too early. Spend time cloning repositories, branching, and committing on a branch using both the terminal and a graphical tool such as GitHub Desktop or the GitHub extension for Visual Studio.

She ultimately standardized on Git commands in the terminal to build bash proficiency, but still uses GitHub Desktop for one-click clones. There’s no “right” answer; what matters is finding what works now, whether that’s a single tool or a hybrid. Asking teammates what they use can also help, since it’s easier to get unstuck when you’re working with the same tooling as the people around you.

Customize Your Terminal With Dotfiles

La spent years using Git before discovering the power of dotfiles—configuration files that many newcomers miss entirely. Their most convenient payoff for Git users is a terminal prompt that shows your current branch and whether you have pending changes, eliminating constant git status checks.

You don’t have to build a dotfiles setup from scratch. Search GitHub for existing dotfiles repositories and fork one that suits your needs; La forked hers from former coworker John Nunemaker.

Build a Practice Project on GitHub Pages

Having a concrete project to push to GitHub is the surest way to build Git muscle memory. GitHub Pages gives you a free hosted website for personal or project use—perfect for that purpose. Create a simple site from HTML, CSS, and JavaScript (whether from a tutorial or by forking someone else’s work), then follow GitHub’s Pages instructions to publish it.

La’s own personal site, shown above, was forked from coworker Cobyism. If you’re looking for inspiration, GitHub maintains a collection of Pages example source code and a github-pages topic tag. Data scientists have an especially useful option in fastpages, which automates publishing a Pages site straight from a Jupyter notebook via GitHub Actions.

Understand the Collaboration Model

Knowing git commands isn’t the same as understanding how GitHub enables collaborative development. La credits a GitHub Flow diagram she encountered on a kids’ learning site with finally making that distinction click.

The GitHub flow represented as a giraffe that gets iterated on as it moves through the process. Image credit goes to diy.org.

Having a shared mental model of branching, pull requests, and merging makes everything else easier. GitHub’s official GitHub Flow guide covers the essentials, and seeing how forks and pull requests enabled her dotfiles and personal site (both forked from others) made real collaboration tangible.

Face Merge Conflicts Head-On

Merge conflicts occur when competing commits touch the same code—commonly the same line of the same file, or when one contributor edits a file another contributor deleted. For La, conflicts were a project-killer for years; she repeatedly abandoned pull requests to avoid dealing with them, and the documentation seemed just as forbidding as the VIM editor she’d get stuck in.

The breakthrough came from deliberate practice. She set up a throwaway repository, deliberately created a conflict, and worked through the fix documentation and a video tutorial. Repeat exposure removed the fear of the conflict markers you see in the file (the “carrots,” as she calls them), and version control provides a safety net—worst case, nuke the project and re-clone. GitHub’s web interface also now supports resolving simple conflicts without touching a local editor.

Documentation Counts as Open Source

Making your first open source contribution doesn’t require deep code knowledge. La’s first pull request was a “how to use GitHub” guide for Rails Girls, submitted many years ago. Documentation contributions are genuinely valuable, and GitHub’s own State of Octoverse report consistently shows that docs-focused projects are among the most actively contributed to—Azure Docs and Azure DevOps are prime examples.

Start by following people and starring repositories you find interesting. When you’re ready, open a pull request proposing changes back to a project—even if those changes are prose.

One Last (Obvious) Tip

Take a structured course or tutorial. La’s final piece of advice is the most conventional—and the most reliable. She recommends:

  • Git-it, an interactive desktop tutorial
  • The freeCodeCamp Git/GitHub video series
  • GitHub Learning Lab’s hands-on courses
  • Official GitHub Guides