TortoiseGit Manual

TortoiseGit

A Git client for Windows

Version 1.8.15

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
Spellchecker
2. TortoiseGit Daily Use Guide
Getting Started
Icon Overlays
Context Menus
Drag and Drop
Common Shortcuts
Maximizing Windows
Create Repository
Clone Repository
Checking Out A Working Tree (Switch to commit)
Committing Your Changes To The Repository
The Commit Dialog
Commit only parts of files
Commit Log Messages
Getting Status Information
Icon Overlays
Status
Viewing Diffs
Pull and Fetch change
Push
Branch
Destination
Options
Sync
Branch
Destination
Options
Daemon
Browse All Refs
Submodules
Revision Log Dialog
Invoking the Revision Log Dialog
Revision Log Actions
Getting Additional Information
Filtering Log Messages
Navigation
Statistical Information
Refreshing the View
Jumping to a Commit by its Hash
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
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
git svn dcommit
Final Step
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
G. Git Offical Documentation
Git User Manual
Git User's Manual (for version 1.5.3 or newer)
Git Tutorial
gittutorial(7)
gittutorial-2(7)
gitcore-tutorial(7)
gitcvs-migration(7)
Everyday GIT With 20 Commands Or So
Git Command Reference
git(1)
git-add(1)
git-am(1)
git-annotate(1)
git-apply(1)
git-archimport(1)
git-archive(1)
git-bisect(1)
git-blame(1)
git-branch(1)
git-bundle(1)
git-cat-file(1)
git-check-attr(1)
git-check-ref-format(1)
git-checkout-index(1)
git-checkout(1)
git-cherry-pick(1)
git-cherry(1)
git-citool(1)
git-clean(1)
git-clone(1)
git-column(1)
git-commit-tree(1)
git-commit(1)
git-config(1)
git-count-objects(1)
git-credential(1)
git-credential-cache--daemon(1)
git-credential-cache(1)
git-credential-store(1)
git-cvsexportcommit(1)
git-cvsimport(1)
git-cvsserver(1)
git-daemon(1)
git-describe(1)
git-diff-files(1)
git-diff-index(1)
git-diff-tree(1)
git-diff(1)
git-difftool(1)
git-fast-export(1)
git-fast-import(1)
git-fetch-pack(1)
git-fetch(1)
git-filter-branch(1)
git-fmt-merge-msg(1)
git-for-each-ref(1)
git-format-patch(1)
git-fsck-objects(1)
git-fsck(1)
git-gc(1)
git-get-tar-commit-id(1)
git-grep(1)
git-gui(1)
git-hash-object(1)
git-help(1)
git-http-backend(1)
git-http-fetch(1)
git-http-push(1)
git-imap-send(1)
git-index-pack(1)
git-init-db(1)
git-init(1)
git-instaweb(1)
git-log(1)
git-lost-found(1)
git-ls-files(1)
git-ls-remote(1)
git-ls-tree(1)
git-mailinfo(1)
git-mailsplit(1)
git-merge-base(1)
git-merge-file(1)
git-merge-index(1)
git-merge-one-file(1)
git-merge-tree(1)
git-merge(1)
git-mergetool--lib(1)
git-mergetool(1)
git-mktag(1)
git-mktree(1)
git-mv(1)
git-name-rev(1)
git-notes(1)
git-p4(1)
git-pack-objects(1)
git-pack-redundant(1)
git-pack-refs(1)
git-parse-remote(1)
git-patch-id(1)
git-peek-remote(1)
git-prune-packed(1)
git-prune(1)
git-pull(1)
git-push(1)
git-quiltimport(1)
git-read-tree(1)
git-rebase(1)
git-receive-pack(1)
git-reflog(1)
git-relink(1)
git-remote-ext(1)
git-remote-fd(1)
git-remote-helpers(1)
git-remote-testgit(1)
git-remote(1)
git-repack(1)
git-replace(1)
git-repo-config(1)
git-request-pull(1)
git-rerere(1)
git-reset(1)
git-rev-list(1)
git-rev-parse(1)
git-revert(1)
git-rm(1)
git-send-email(1)
git-send-pack(1)
git-sh-i18n--envsubst(1)
git-sh-i18n(1)
git-sh-setup(1)
git-shell(1)
git-shortlog(1)
git-show-branch(1)
git-show-index(1)
git-show-ref(1)
git-show(1)
git-stage(1)
git-stash(1)
git-status(1)
git-stripspace(1)
git-submodule(1)
git-svn(1)
git-symbolic-ref(1)
git-tag(1)
git-tar-tree(1)
git-unpack-file(1)
git-unpack-objects(1)
git-update-index(1)
git-update-ref(1)
git-update-server-info(1)
git-upload-archive(1)
git-upload-pack(1)
git-var(1)
git-verify-pack(1)
git-verify-tag(1)
git-web--browse(1)
git-whatchanged(1)
git-write-tree(1)
Misc
gitcli(7)
gitattributes(5)
gitcredentials(7)
gitdiffcore(7)
gitignore(5)
githooks(5)
gitk(1)
gitmodules(5)
gitnamespaces(7)
gitrepository-layout(5)
gitrevisions(7)
gitweb(1)
gitweb.conf(5)
gitworkflows(7)
gitglossary(7)
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. The Switch/Checkout dialog
2.6. The Commit dialog
2.7. The Commit Dialog Spellchecker
2.8. Explorer showing icon overlays
2.9. Check for Modifications
2.10. A running daemon dialog
2.11. The add submodule dialog
2.12. Submodule context menu entries
2.13. The update submodule dialog
2.14. Button for updating submodules in progress dialog
2.15. The Revision Log Dialog
2.16. The Revision Log Dialog Top Pane with Context Menu
2.17. The Search Log Messages Dialog
2.18. Top Pane Context Menu for 2 Selected Revisions
2.19. The Log Dialog Bottom Pane with Context Menu
2.20. Commits-by-Author Histogram
2.21. Commits-by-Author Pie Chart
2.22. Commits-by-date Graph
2.23. A Revision Graph
2.24. RefLog Dialog
2.25. The Repository Browser
2.26. The Compare Revisions Dialog
2.27. The submodule difference dialog
2.28. The image difference viewer
2.29. Explorer context menu for unversioned files
2.30. Explorer context menu for unversioned files
2.31. Ignore dialog
2.32. Explorer context menu for versioned files
2.33. Revert dialog
2.34. Clean dialog
2.35. The Reset dialog
2.36. The Abort Merge dialog
2.37. Stash save dialog
2.38. (un)stash options
2.39. Bisect start
2.40. Bisect options
2.41. The Branch Dialog
2.42. The Tag Dialog
2.43. Merge dialog
2.44. The resolve conflicts dialog
2.45. Resolve delete-modify conflict Dialog
2.46. Resolve submodule conflict Dialog
2.47. The Create Patch dialog
2.48. The Send Patches Dialog
2.49. The Choose Repository Dialog
2.50. The Apply Patch Dialog
2.51. The Request Pull Dialog
2.52. TortoiseGitBlame
2.53. The Export Dialog
2.54. Example issue tracker query dialog
2.55. The Settings Dialog, General Page
2.56. The Settings Dialog, Context Menu Page
2.57. The Settings Dialog, Set Extend Menu Item
2.58. The Settings Dialog, Dialogs Page
2.59. Example of Symbolize ref names
2.60. The Settings Dialog, Dialogs Page 2
2.61. The Settings Dialog, Dialogs 3 Page
2.62. The Settings Dialog, Colours Page
2.63. The Settings Dialog, Colours Page
2.64. The Settings Dialog, Colours Page
2.65. The Settings Dialog, Icon Overlays Page
2.66. The Settings Dialog, Icon Set Page
2.67. The Settings Dialog, Icon Handlers Page
2.68. The Settings Dialog, Network Page
2.69. The Settings Dialog, email settings
2.70. The Settings Dialog, Diff Viewer Page
2.71. The Settings Dialog, Merge Tool Page
2.72. The Settings Dialog, Diff/Merge Advanced Dialog
2.73. The Settings Dialog, Alternative editor Page
2.74. The Settings Dialog, Saved Data Page
2.75. The Settings Dialog, Git
2.76. The Settings Dialog, Git, Remote
2.77. The Settings Dialog, Git, Credential
2.78. The Settings Dialog, Hook Scripts Page
2.79. The Settings Dialog, Configure Hook Scripts
2.80. The Settings Dialog, Issue Tracker Integration Page
2.81. The Settings Dialog, Issue Tracker Config
2.82. The Settings Dialog, TortoiseGitBlame Page
2.83. The Settings Dialog, TortoiseGitUDiff Page
2.84. Taskbar with default grouping
2.85. Taskbar with repository grouping
2.86. Taskbar grouping with repository color overlays
C.1. The upgrade dialog