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)
- Pull changes (True/False)
- Use annotated tags (True/False)
(G)it (C)ommit
- Ctrl+Shift+Alt+G, C(G)it (F)etch
- Ctrl+Shift+Alt+G, F(G)it (L)og
- Ctrl+Shift+Alt+G, L(G)it (M)erge
- Ctrl+Shift+Alt+G, M(G)it (P)ull
- Ctrl+Shift+Alt+G, P(G)it P(u)sh
- Ctrl+Shift+Alt+G, U(G)it (R)evert
- Ctrl+Shift+Alt+G, R(G)it Stas(h)-Apply
- Ctrl+Shift+Alt+G, H(G)it Stash-Cre(a)te
- Ctrl+Shift+Alt+G, A(G)it (S)witch
- Ctrl+Shift+Alt+G, S(G)it S(y)nc
- Ctrl+Shift+Alt+S, Y(G)it Clea(n)up
- Ctrl+Shift+Alt+G, N(G)it R(e)solve
- Ctrl+Shift+Alt+G, E(G)it Sho(w) Changes
- Ctrl+Shift+Alt+G, W(G)it File (B)lame
- Ctrl+Shift+Alt+G, B(G)it File (D)iff
- Ctrl+Shift+Alt+G, D(G)it Rebase
- Ctrl+Shift+Alt+G, G
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