TortoiseGit Manual

TortoiseGit

A Git client for Windows

Version 2.15.0

Lübbe Onken (TortoiseSVN)

Simon Large (TortoiseSVN)

Frank Li

Sven Strickroth


Table of Contents

Preface
Audience
Reading Guide
TortoiseGit is free!
Community
Acknowledgments
Terminology used in this document
1. Introduction
What is TortoiseGit?
TortoiseGit's History
TortoiseGit's Features
Installing TortoiseGit
System requirements
Installation
Language Packs
Spell checker
2. TortoiseGit Daily Use Guide
Getting Started
Icon Overlays
Context Menus
Drag and Drop
Common Shortcuts
Authentication
Maximizing Windows
Create Repository
Clone Repository
Checking Out A Working Tree (Switch to commit)
Committing Your Changes To The Repository
The Commit Dialog
Change Lists
Excluding Items from the Commit List
Commit only parts of files
Commit Log Messages
Commit Progress
Getting Status Information
Icon Overlays
Explorer Properties
Status
Viewing Diffs
Pull and Fetch change
Push
Branch
Destination
Options
Sync
Branch
Destination
Options
Daemon
Browse All Refs
Submodules
Change Lists
Log Dialog
Invoking the Revision Log Dialog
Revision Log Actions
The revision graph
Commit messages and branch/tag indicators
Getting Additional Information
Filtering Log Messages
Navigation
Statistical Information
Refreshing the View
Revision Graphs
Revision Graph Nodes
Using the Graph
Refreshing the View
Reference Log
The Repository Browser
Viewing Differences
File Differences
Line-end and Whitespace Options
Comparing Version
Diffing submodules using Submodule Diff Dialog
Diffing Images Using TortoiseGitIDiff
External Diff/Merge Tools
Adding New Files
Copying/Moving/Renaming Files and Folders
Ignoring Files And Directories
Pattern Matching in Ignore Lists
Deleting, Moving and Renaming
Deleting files and folders
Moving files and folders
Changing case in a filename
Dealing with filename case conflicts
Deleting Unversioned Files
Undo Changes
Cleanup
Reset
Stash Changes
Bisect
Branching/Tagging
Creating a Branch or Tag
Merging
Cherry picking
Rebase
Resolving Conflicts
Special conflict cases
Creating and Applying Patches and Pull Requests
Creating a Patch Serial
Sending patches by mail
Applying a single Patch File
Applying a Patch Serial
Creating a pull request
Who Changed Which Line?
Blame for Files
Exporting a Git Working Tree
Integration with Bug Tracking Systems / Issue Trackers
Adding Issue Numbers to Log Messages
Getting Information from the Issue Tracker
TortoiseGit's Settings
General Settings
Icon Overlay Settings
Network Settings
External Program Settings
Saved Data Settings
Git
Client Side Hook Scripts
TortoiseGitBlame Settings
TortoiseGitUDiff Settings
Advanced Settings
Exporting TortoiseGit Settings
Working with worktrees
Creating a worktree
git svn dcommit
Git LFS Locking
Setting up the repository
Locking a file
Unlocking a file
Show Locks Dialog
Final Step
3. The GitWCRev Program
The GitWCRev Command Line
Keyword Substitution
Keyword Example
COM interface
A. Frequently Asked Questions (FAQ)
B. IBugTraqProvider interface
Naming conventions
The IBugTraqProvider interface
The IBugTraqProvider2 interface
C. Useful Tips For Administrators
Deploy TortoiseGit via group policies
Redirect the upgrade check
Disable context menu entries
D. Automating TortoiseGit
TortoiseGit Commands
TortoiseGitIDiff Commands
E. Implementation Details
Icon Overlays
F. Tips and tricks for SSH/PuTTY
Introduction
How to use sessions
FAQ and examples section
How to use a default key for all SSH connections
How to connect to a SSH server on a different port
How to use two different SSH keys for the same user on the same host
Glossary
Index

List of Figures

2.1. Explorer showing icon overlays
2.2. Context menu for a directory under version control
2.3. Explorer file menu for a shortcut in a versioned folder
2.4. Right drag menu for a directory under version control
2.5. Create repository dialog
2.6. Successful repository creation message
2.7. Clone dialog
2.8. The Switch/Checkout dialog
2.9. The Commit dialog
2.10. The Commit Dialog Spellchecker
2.11. The Progress dialog showing a commit in progress
2.12. Explorer showing icon overlays
2.13. Explorer property page, Git tab
2.14. Check for Modifications
2.15. Pull dialog
2.16. Fetch dialog
2.17. Push dialog
2.18. Sync dialog
2.19. A running daemon dialog
2.20. Browse References Dialog dialog
2.21. Delete remote tags dialog
2.22. The add submodule dialog
2.23. Submodule context menu entries
2.24. The update submodule dialog
2.25. Button for updating submodules in progress dialog
2.26. Commit dialog with Changelists
2.27. The Revision Log Dialog
2.28. The Revision Log Dialog Top Pane with Context Menu
2.29. Collapsed revisions
2.30. The Search Log Messages Dialog
2.31. Top Pane Context Menu for 2 Selected Revisions
2.32. The Log Dialog Bottom Pane with Context Menu
2.33. Commits-by-Author Histogram
2.34. Commits-by-Author Pie Chart
2.35. Commits-by-date Graph
2.36. A Revision Graph
2.37. RefLog Dialog
2.38. The Repository Browser
2.39. The Compare Revisions Dialog
2.40. The submodule difference dialog
2.41. The image difference viewer
2.42. Explorer context menu for unversioned files
2.43. Add finished
2.44. Right drag menu for a directory under version control
2.45. Explorer context menu for unversioned files
2.46. Ignore dialog
2.47. Explorer context menu for versioned files
2.48. Revert dialog
2.49. Clean dialog
2.50. The Reset dialog
2.51. The Abort Merge dialog
2.52. Stash changes dialog
2.53. (un)stash options
2.54. Bisect start
2.55. Bisect options
2.56. The Branch Dialog
2.57. The Tag Dialog
2.58. Merge dialog
2.59. Cherry Pick dialog
2.60. Rebase dialog
2.61. The resolve conflicts dialog
2.62. Resolve delete-modify conflict Dialog
2.63. Resolve submodule conflict Dialog
2.64. The Create Patch dialog
2.65. The Send Patches Dialog
2.66. The Choose Repository Dialog
2.67. The Apply Patch Dialog
2.68. The Request Pull Dialog
2.69. TortoiseGitBlame
2.70. The Export Dialog
2.71. Example issue tracker query dialog
2.72. The Settings Dialog, General Page
2.73. The Settings Dialog, Context Menu Page
2.74. The Settings Dialog, Context Menu 2
2.75. The Settings Dialog, Dialogs Page
2.76. Example of Symbolize ref names
2.77. The Settings Dialog, Dialogs Page 2
2.78. The Settings Dialog, Dialogs 3 Page
2.79. The Settings Dialog, colors Page
2.80. The Settings Dialog, colors Page
2.81. The Settings Dialog, colors Page
2.82. The Settings Dialog, Icon Overlays Page
2.83. The Settings Dialog, Icon Set Page
2.84. The Settings Dialog, Icon Handlers Page
2.85. The Settings Dialog, Network Page
2.86. The Settings Dialog, email settings
2.87. The Settings Dialog, Diff Viewer Page
2.88. The Settings Dialog, Merge Tool Page
2.89. The Settings Dialog, Diff/Merge Advanced Dialog
2.90. The Settings Dialog, Alternative editor Page
2.91. The Settings Dialog, Saved Data Page
2.92. The Settings Dialog, Git
2.93. The Settings Dialog, Git, Remote
2.94. The Settings Dialog, Git, Credential
2.95. The Settings Dialog, Hook Scripts Page
2.96. The Settings Dialog, Configure Hook Scripts
2.97. The Settings Dialog, Issue Tracker Integration Page
2.98. The Settings Dialog, Issue Tracker Config
2.99. The Settings Dialog, TortoiseGitBlame Page
2.100. The Settings Dialog, TortoiseGitUDiff Page
2.101. Taskbar with default grouping
2.102. Taskbar with repository grouping
2.103. Taskbar grouping with repository color overlays
2.104. Locks Dialog
C.1. The upgrade dialog