Skip to content

Instantly share code, notes, and snippets.

@raelyard
Last active November 19, 2019 19:02
Show Gist options
  • Save raelyard/9910998e5aa36455b8cb2c758ef10ae9 to your computer and use it in GitHub Desktop.
Save raelyard/9910998e5aa36455b8cb2c758ef10ae9 to your computer and use it in GitHub Desktop.
Course Outline:
Part 1: Git
1.1: Getting Started with Git
1.2: Basic Git Commands
1.3: Advanced Git Commands
Part 2: GitHub
2.1 Getting Started with GitHub
2.2 Options for Teams
2.3 Working in Teams
Lab repository:
https://github.com/techtown-training/git-github-boot-camp
My Git config I apply when I set up a new machine (from https://gist.github.com/raelyard/6783972a17ba1bc14e83):
# configure git identity and defaults (want to prune on fetch, etc.)
git config --global user.name "Dave Rael"
git config --global user.email "dave@raelyard.com"
git config --global fetch.prune true
# make WinMerge my git difftool tool of choice
git config --global diff.tool "winmerge"
git config --global difftool.prompt "false"
git config --global difftool.winmerge.cmd 'winmergeu.exe -e -u -x -wl -dl base \"$LOCAL\" \"$REMOTE\"'
# but also set config to switch to other difftool/mergetool options to switch when desired
git config --global difftool.vsdiffmerge.cmd '\"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t'
git config --global mergetool.vsdiffmerge.cmd '\"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m'
# useful git log alias
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr - %cd) %C(bold blue)<%an>%Creset' --abbrev-commit --date local"
Visual Studio Code as editor:
git config --global core.editor "code --wait --new-window"
In Powershell, for slick formatting of the prompt with Git status information, I use a tool called PoshGit
choco install -y poshgit
Excellent blog post, written by one of the founders of GitHub, on what Git is and why it is the way it is.
https://tom.preston-werner.com/2009/05/19/the-git-parable.html
Dan North - Introducing BDD:
https://dannorth.net/introducing-bdd/
DDD:
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software-ebook/dp/B00794TAUG/ref=sr_1_3?crid=2AHOYMWNFLUO4&keywords=domain+driven+design&qid=1574190143&sprefix=domain+driven+%2Caps%2C147&sr=8-3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment