Control TortoiseGit from within Visual Studio
- Install the TGit extension
- Install TortoiseGit
- Install MSysGit
TGit has several options:
Default commit message:
You can change this to regular text or the following macros:
- $(FeatureName): Name of the current Feature branch
- $(BranchName): Name of the current branch
- Common Macros for Build Commands and Properties
Close dialog after operation:
You can change what happens to the TortoiseGit dialogs after their operations:
0: Close manually
1: Auto-close if no further options are available
2: Auto-close if no errors
Finish Feature tweaks:
You can change what happens when using the finish feature command:
- Delete local branch (True/False)
- Delete remote branch (True/False)
- Push changes (True/False)
(G)it (C)ommit
- Ctrl+G, Ctrl+C(G)it (F)etch
- Ctrl+G, Ctrl+F(G)it (L)og
- Ctrl+G, Ctrl+L(G)it (M)erge
- Ctrl+G, Ctrl+M(G)it (P)ull
- Ctrl+G, Ctrl+P(G)it P(u)sh
- Ctrl+G, Ctrl+U(G)it (R)evert
- Ctrl+G, Ctrl+R(G)it Stas(h)-Apply
- Ctrl+G, Ctrl+H(G)it Stash-Cre(a)te
- Ctrl+G, Ctrl+A(G)it (S)witch
- Ctrl+G, Ctrl+S(G)it S(y)nc
- Ctrl+S, Ctrl+Y(G)it Clea(n)up
- Ctrl+G, Ctrl+N(G)it R(e)solve
- Ctrl+G, Ctrl+E(G)it Sho(w) Changes
- Ctrl+G, Ctrl+W(G)it File (B)lame
- Ctrl+G, Ctrl+B(G)it File (D)iff
- Ctrl+G, Ctrl+D
To make these shortcuts work you will have to redefine the Ctrl+G (Go To Line) shortcut to be e.g. Ctrl+G, Ctrl+G. To do this go to Tools -> Options -> Keyboard and change the shortcut for Edit.GoTo
So what exactly are those GitFlow menu items doing?
- Switch to the develop branch
- Pull latest changes on develop
- Create and switch to a new branch
- Switch to the develop branch
- Pull latest changes on develop
- Merge the feature branch to develop
- Delete the local feature branch
- Delete the remote feature branch
- Push all changes to develop
- Switch to the develop branch
- Pull latest changes on develop
- Create and switch to a new release branch
- Switch to the master branch
- Pull latest changes on master
- Merge the release branch to master
- Tag the release
- Switch to the develop branch
- Pull latest changes on develop
- Merge the release branch to develop
- Delete the local release branch
- Delete the remote release branch
- Push all changes to develop
- Push all changes to master
- Push the tag