Using Git on Windows has become incredibly simple these days thanks to the efforts of GitHub’s Windows team (haacked, ammeep, shiftkey, half-ogre, tclem and likely many others). For the majority of people installing GitHub for Windows will be good enough. But if you’re like me you want a customized console to perform builds, work with git, etc. The following is a reminder to myself short guide on how I configured my current setup.

Install the wares

  1. GitHub for Windows
  2. ConsoleZ

Configure your wares

GitHub for Windows

github_settings

  1. Login to the App
  2. Configure your git settings (name and email)
  3. Ensure PowerShell is the Default Shell

ConsoleZ

consolez

  1. Download ConsoleZ and extract to C:\Program Files(x86)\ConsoleZ\ assuming you’re on a x64 system
  2. Right-click Console.exe and Run as administrator
  3. Press Ctrl + S to open Settings
  4. Under Console -> Shell put %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
  5. Optionally set a Startup Directory
  6. Under Appearance -> Check Save on exit for both Size and Position
  7. Under Behavior -> Copy & Paste check Copy on Select
  8. Under Hotkeys
    1. Change Copy selection to Ctrl+C
    2. Change Paste to Ctrl+C
  9. Under Hotkeys -> Mouse
    1. Change Select Text to Left (without Shift)
    2. Change Paste Text to Right
    3. Change Context Menu #1 to Shift + Right
  10. Press Ok to save your changes
  11. Pin Console.exe to your Taskbar (optional)

Configure Powershell

Inside you the Console window you have open from the previous step:

  1. Execute this command Set-ExecutionPolicy RemoteSigned
    1. read about this here
  2. Execute Test-path $profile
    1. If this prints False execute New-item –type file –force $profile
  3. Execute $profile
  4. Copy the output of this command (you’ll need it for the next section)

Configure your Powershell Profile

  1. Open your favorite text editor (checkout atom)
  2. File -> Open -> Paste the path you copied in the previous step
  3. Paste in the following (editing as appropriate):
#Let GH4W do magic
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. $env:github_posh_git\profile.example.ps1

Set-Alias g git.exe

Save the file and reload reload the console and you’re done.

Summary

You now have a functional console that executes PowerShell, doubles as a Visual Studio Command Prompt and is fully configured for Git using your GitHub credentials. 💥