Skip to content

Instantly share code, notes, and snippets.

@johnazariah
Last active October 13, 2020 17:11
Show Gist options
  • Save johnazariah/23ac0a16abb6835a9278892b48a2e9b1 to your computer and use it in GitHub Desktop.
Save johnazariah/23ac0a16abb6835a9278892b48a2e9b1 to your computer and use it in GitHub Desktop.
Git Configuration
# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc
#from http://stackoverflow.com/questions/33220492/ps1-bash-command-substitution-not-working-on-windows-10
# Reset
Off="\[\e[0m\]" # Text Reset
# Regular Colors
Black="\[\e[0;30m\]" # Black
Red="\[\e[0;31m\]" # Red
Green="\[\e[0;32m\]" # Green
Yellow="\[\e[0;33m\]" # Yellow
Blue="\[\e[0;34m\]" # Blue
Purple="\[\e[0;35m\]" # Purple
Cyan="\[\e[0;36m\]" # Cyan
White="\[\e[0;37m\]" # White
# Bold
BoldBlack="\[\e[1;30m\]" # Black
BoldRed="\[\e[1;31m\]" # Red
BoldGreen="\[\e[1;32m\]" # Green
BoldYellow="\[\e[1;33m\]" # Yellow
BoldBlue="\[\e[1;34m\]" # Blue
BoldPurple="\[\e[1;35m\]" # Purple
BoldCyan="\[\e[1;36m\]" # Cyan
BoldWhite="\[\e[1;37m\]" # White
# Various variables you might want for your PS1 prompt instead
UserName="\u"
HostName="\h"
Time12h="\T"
Time12a="\@"
PathShort="\W"
PathFull="\w"
NewLine="\n"
Jobs="\j"
NewLine=$'\n'
# from https://github.com/mcloide/git-color-scheme
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
c_reset=`tput sgr0`
c_git_clean=`tput setaf 2; tput bold`
c_git_dirty=`tput setaf 5; tput bold`
else
c_reset=
c_git_clean=
c_git_dirty=
fi
git_prompt ()
{
if ! git rev-parse --git-dir > /dev/null 2>&1; then
return 0
fi
git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
if git diff --quiet 2>/dev/null >&2; then
git_color=${c_git_clean}
else
git_color=${c_git_dirty}
fi
echo " [$git_color$git_branch${c_reset}]"
}
export PS1="\n${Yellow}${UserName}@${HostName} ${BoldCyan}${PathFull} ${Off}"'$(git_prompt)'"${NewLine}${BoldYellow}λ ${Off}"
# This is Git's per-user configuration file.
[user]
name = John Azariah
email = johnaz@microsoft.com
[alias]
lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
lg = lga -20
ca = commit -a
ci = commit
st = status
co = checkout
br = branch
fop = fetch origin --prune
cob = checkout -b
rom = rebase origin/main
new = !git init && git symbolic-ref HEAD refs/heads/main
alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
[core]
editor = code --wait
autocrlf = true
excludesfile = C:\\Users\\johnaz\\Documents\\gitignore_global.txt
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
[credential]
helper = /mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe
//Windows Terminal Settings File with Git Bash running inside Windows Terminal
// This file was initially generated by Windows Terminal 1.3.2651.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles":
{
"defaults":
{
"fontFace": "Cascadia Code PL"
// Put settings here that you want to apply to all profiles.
},
"list":
[
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
//https://stackoverflow.com/questions/56839307/adding-git-bash-to-the-new-windows-terminal
"guid":"{69c582cb-1a9e-4b27-9c54-fe5def2c2134}",
"name": "Git Bash",
"commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe --login -i -l",
"icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
"startingDirectory" : "%USERPROFILE%",
"historySize" : 9001,
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"hidden": false,
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl"
}
]
},
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"schemes": [],
// Add custom actions and keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
"actions":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },
// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment