TortoiseGit Manual

Disable context menu entries

TortoiseGit allows you to disable (actually, hide) context menu entries. Since this is a feature which should not be used lightly but only if there is a compelling reason, there is no GUI for this and it has to be done directly in the registry. This can be used to disable certain commands for users who should not use them. But please note that only the context menu entries in the explorer are hidden, and the commands are still available through other means, e.g. the command line or even other dialogs in TortoiseGit itself!

The registry keys which hold the information on which context menus to show are HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow and HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh.

Each of these registry entries is a DWORD value, with each bit corresponding to a specific menu entry. A set bit means the corresponding menu entry is deactivated.

Table C.1. Menu entries and their values

ValueMenu entry
0x0000000000000002Sync
0x0000000000000004Commit
0x0000000000000008Add
0x0000000000000010Revert
0x0000000000000020Cleanup
0x0000000000000040Resolve
0x0000000000000080Switch/Checkout
0x0000000000000100Sendmail
0x0000000000000200Export
0x0000000000000400Create Repository here
0x0000000000000800Branch/Tag
0x0000000000001000Merge
0x0000000000002000Delete
0x0000000000004000Rename
0x0000000000008000Submodule Update
0x0000000000010000Diff
0x0000000000020000Show Log
0x0000000000040000Edit Conflicts
0x0000000000080000Reference Browser
0x0000000000100000Check for modifications
0x0000000000200000Ignore
0x0000000000400000RefLog
0x0000000000800000Blame
0x0000000001000000Repository Browser
0x0000000002000000Apply Patch
0x0000000004000000Delete (keep local)
0x0000000008000000SVN Rebase
0x0000000010000000SVN DCommit
0x0000000040000000SVN Ignore
0x0000000100000000Log of Submodule folder
0x0000000200000000Rev Diff
0x0000000800000000Pull
0x0000001000000000Push
0x0000002000000000Clone
0x0000004000000000Tag
0x0000008000000000Format Patch
0x0000010000000000Import Patch
0x0000040000000000Fetch
0x0000080000000000Rebase
0x0000100000000000Stash Save
0x0000200000000000Stash Apply
0x0000400000000000Stash List
0x0000800000000000Submodule Add
0x0001000000000000Submodule Sync
0x0002000000000000Stash Pop
0x0004000000000000Diff two files
0x0008000000000000Bisect
0x0080000000000000SVN Fetch
0x0100000000000000Revision graph
0x0200000000000000Daemon
0x2000000000000000Settings
0x4000000000000000Help
0x8000000000000000About


Example: to disable the Sendmail, the Rebase and the Settings menu entries, add the values assigned to the entries like this:

  0x0000000000000100
+ 0x0000080000000000
+ 0x2000000000000000
= 0x2000080000000100

The lower DWORD value (0x00000100) must then be stored in HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskLow, the higher DWORD value (0x20000800) in HKEY_CURRENT_USER\Software\TortoiseGit\ContextMenuEntriesMaskHigh.

To enable the menu entries again, simply delete the two registry keys.