git, for users of git

Presenters: alison

Now we're gonna have some INTERMEDIATE FUN!

  • I'll share some of my favorite things to do (cherry-pick, blame, change the author so it looks like my coworker did something I just did)...
  • Wait, what's a tag? Wait, what's a release? (HINT: THEY'RE THE SAME. SORT OF. OMG I SAID SORT OF, CHILL OUT.)
  • Forks and pull requests: COOL STUFF you can do on GitHub/BitBucket (and of course, GitLab!)
  • Feature branches -- yes, they're what they sound like.
  • Cherry picks and Merges and Rebasing -- what's what?? and, differences, benefits/drawbacks, etc.
  • A bit of conflict resolution, detached tags, merged branch cleanup, multiple remotes...
  • We'll go over some "omg what did I do" scenarios (and a few online resources).

THEN, if y'all bring your own pain points, we can talk about them and I'll do my best to help!

  • If not, I'll briefly cover a fairly universal pain point: git + Drupal code contribution.




  • git checkout -- .
    • discard changes on tracked files (if not staged for commit)
    • Also you can put a file path on it
  • git clean -df
    • discard *untracked* files
    • aliased to git clgo in my .gitconfig (see repo link below)
  • If you do ONE thing, bookmark and then USE:
  • If you do TWO things, suck it up and do four instead:
    1. That ^^ first thing (previous bullet re: git fix-up helpers)
    2. Memorize git checkout -- .
    3. Look at the git config (aliases) file that I shared and consider adding them to your own .gitconfig.
      • (see repo link below)
    4. Grab the "git.delete-merged-branches" bash script, and use it periodically, because y'know, a tidy git repo is how you know you're a good person.
      • (see repo link below)

GitHub repo with .gitconfig + bash_aliases files, i.e. with all my aliases and such. Note: Some have explanatory comments, some don't!

Slides!! -- note: I updated a lot from the "sharing session" we did at the end, but not everything.

Experience Level
Schedule Info
Conference Year
Date / Time
Room E1/E2
Session Track
Coding and Development