On my new team we use Work Items to track our progress, and I love it . However, there is one thing that has bugged me, the default status when assocaiting my checking wiht a Work Item is Resolved. Well that is not how I work. I check in frequently, so I wanted to see if I could change it so that Associate is the default. Found this User Voice Discussion that had just what I needed. I am recapping it here to save a few clicks.
Visual Studio 2015
Visual Studio 2013
Available in Visual Studio 2013 Update 4 or you can use the following registry hack.
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior]
"ResolveAsDefaultCheckinAction"="False"
I have not test. As always when editing the registry by hand, make a backup and proceed with caution.
Other Obervations
That same thread also states that this could be cause becuase the Work Item original state is still in “To Do” and if it is transitioned then it will default to Associate.
I just got a new laptop at work and when setting up Git moved to Git For Windows. One challenge I ran accross was where to put my aliases. I have several I used that made my life easier.
Step 1 – Find the location of the git config file
To do this I opened gitbash and executed $ git config --list --show-origin
Which produced the following:
$ git config --list --show-origin
file:"C:\\ProgramData/Git/config" core.symlinks=false
file:"C:\\ProgramData/Git/config" core.autocrlf=true
file:"C:\\ProgramData/Git/config" core.fscache=true
file:"C:\\ProgramData/Git/config" color.diff=auto
file:"C:\\ProgramData/Git/config" color.status=auto
file:"C:\\ProgramData/Git/config" color.branch=auto
file:"C:\\ProgramData/Git/config" color.interactive=true
file:"C:\\ProgramData/Git/config" help.format=html
file:"C:\\ProgramData/Git/config" http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:"C:\\ProgramData/Git/config" diff.astextplain.textconv=astextplain
file:"C:\\ProgramData/Git/config" rebase.autosquash=true
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig" credential.helper=manager
As you can see my git config file is located in “C:\ProgramData\Git\config”. I am sure that this is due to some policy that is on the laptop becuase this is not where the documenation says it should be.
Step 2 – Add the aliasas
Now that I know where the config file is I can add the alisases, here are mine.
ci = commit --verbose
cn = commit --verbose --amend
ca = commit --verbose --all
cw = commit -m \"WIP\"
cm = commit -m
cc = commit -c
b = branch
bc = checkout -b
a = add
aa = add --update
ap = add --patch
c = checkout
f = fetch
pr = pull --rebase
pom = push origin master
r = rebase --interactive HEAD~10
rc = rebase --continue
ra = rebase --abort
s = status
sp = -p status # with pagination
ss = -p status -s
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
alias = config --get-regexp 'alias.*'
My updated config file looks like this now.
[core]
symlinks = false
autocrlf = true
fscache = true
[color]
diff = auto
status = auto
branch = auto
interactive = true
[pack]
[help]
format = html
[http]
sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
[diff "astextplain"]
textconv = astextplain
[rebase]
autosquash = true
[alias]
ci = commit --verbose
cn = commit --verbose --amend
ca = commit --verbose --all
cw = commit -m \"WIP\"
cm = commit -m
cc = commit -c
b = branch
bc = checkout -b
a = add
aa = add --update
ap = add --patch
c = checkout
f = fetch
pr = pull --rebase
pom = push origin master
r = rebase --interactive HEAD~10
rc = rebase --continue
ra = rebase --abort
s = status
sp = -p status # with pagination
ss = -p status -s
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
alias = config --get-regexp 'alias.*'
Step 3 Save and Test
Once I updated my config file, I saved it and then opened a new gitbash windows and BAM! All of may aliases were back. Happy Day!