Introduction
version control
Version control is the art of managing changes to
information. It has long been a critical tool for programmers,
who typically spend their time making small changes to software
and then undoing or checking some of those changes the next day.
Imagine a team of such developers working concurrently - and perhaps even
simultaneously on the very same files! - and you can see why
a good system is needed to manage the potential chaos.
What is TortoiseGit?
TortoiseGit is a free open-source client for the
Git version control system.
That is, TortoiseGit manages files over time.
Files are stored in a local repository.
The repository is much like an ordinary file server, except that it
remembers every change ever made to your files and directories.
This allows you to recover older versions of your files and examine
the history of how and when your data changed, and who changed it.
This is why many people think of Git and version control
systems in general as a sort of time machine
.
Some version control systems are also software configuration
management (SCM) systems. These systems are specifically
tailored to manage trees of source code, and have many features
that are specific to software development - such as natively
understanding programming languages, or supplying tools for
building software. Git, however, is not one of these
systems; it is a general system that can be used to manage
any collection of files, including
source code.
Git is an open source, distributed version control system
designed to handle everything from small to very large projects with speed and
efficiency. Every Git clone is a full-fledged repository with complete history
and full revision tracking capabilities, not dependent on network access or
a central server. Branching and merging are fast and easy to do.
TortoiseGit's History
In 2008, Frank Li found that Git was a very good version
control system, but it lacked a good GUI client. The idea for a
Git client as a Windows shell integration was inspired by
the similar client for SVN named TortoiseSVN.
Frank studied the source code of TortoiseSVN and used it as a base for
TortoiseGit. He then started the project, registered the project
at code.google.com and put the source code online.
As Git became more stable it attracted more and more users
who also started using TortoiseGit as their Git client.
TortoiseGit's Features
What makes TortoiseGit such a good Git client?
Here's a short list of features.
Shell integration
Windows shell
explorer
TortoiseGit integrates seamlessly into the Windows shell
(i.e. the explorer). This means you can keep working
with the tools you're already familiar with. And you
do not have to change into a different application
each time you need functions of the version control!
And you are not even forced to use the Windows Explorer.
TortoiseGit's context menus work in many other file managers,
and in the File/Open dialog which is common to most
standard Windows applications.
You should, however, bear in mind that TortoiseGit
is intentionally developed as extension for the Windows
Explorer. Thus it is possible that in other applications
the integration is not as complete and e.g. the icon
overlays may not be shown.
Icon overlays
The status of every versioned file and folder is
indicated by small overlay icons. That way you can see
right away what the status of your working copy is.
Easy access to Git commands
All Git commands are available from the explorer
context menu. TortoiseGit adds its own submenu there.
Since TortoiseGit is a Git client, we would also like to show you
some of the features of Git itself:
Distributed version control
Like most other modern version control systems, Git
gives each developer a local copy of the entire development
history, and changes are copied from one such repository
to another. These changes are imported as additional
development branches, and can be merged in the same way
as a locally developed branch. Repositories can be easily
accessed via the efficient Git protocol (optionally wrapped
in ssh for authentication and security) or simply using
HTTP - you can publish your repository anywhere without
any special webserver configuration required.
Atomic commits
A commit either goes into the repository completely,
or not at all.
Strong support for non-linear development
Git supports rapid and convenient branching and merging,
and includes powerful tools for visualizing and navigating
a non-linear development history.
Efficient handling of large projects
Git is very fast and scales well even when working with
large projects and long histories. It is commonly an order
of magnitude faster than most other version control systems,
and several orders of magnitude faster on some operations.
It also uses an extremely efficient packed format for long-term
revision storage that currently tops any other open source
version control system.
Cryptographic authentication of history
The Git history is stored in such a way that the name of a
particular revision (a "commit" in Git terms) depends upon
the complete development history leading up to that commit.
Once it is published, it is not possible to change the old
versions without it being noticed. Also, tags can be
cryptographically signed.
Efficient branching and tagging
The cost of branching and tagging need not be
proportional to the project size. Branch is just head of commits.
Tag is friend name of commit hash.
Toolkit design.
Following the Unix tradition, Git is a collection of many small
tools written in C, and a number of scripts that provide convenient
wrappers. Git provides tools for both easy human usage and easy
scripting to perform new clever operations.
Installing TortoiseGit
System requirements
TortoiseGit runs on Windows 2000 SP2, Windows XP or higher.
Windows 98, Windows ME and Windows NT4 are no longer supported.
If you encounter any problems during or after installing
TortoiseGit please refer to
first.
Installation
install
TortoiseGit comes with an easy to use installer. Double click on
the installer file and follow the instructions. The installer
will take care of the rest.
You need Administrator privileges to install TortoiseGit.
Language Packs(not start)
language packs
translations
The TortoiseGit user interface has been translated into many
different languages, so you may be able to download a language
pack to suit your needs.
You can find the language packs on our
translation status page
.
And if there is no language pack available yet, why not join
the team and submit your own translation ;-)
Each language pack is packaged as a .exe installer.
Just run the install program and follow the instructions.
Next time you restart, the translation will be available.
Spellchecker
spellchecker
dictionary
TortoiseGit includes a spell checker which allows you to check your
commit log messages. This is especially useful if the project language
is not your native language.
The spell checker uses the same dictionary files as
OpenOffice
and
Mozilla
.
The installer automatically adds the US and UK English dictionaries.
If you want other languages, the easiest option is simply to
install one of TortoiseGit's language packs. This will install
the appropriate dictionary files as well as the TortoiseGit local
user interface.
Next time you restart, the dictionary will be available too.
Or you can install the dictionaries yourself. If you have OpenOffice or
Mozilla installed, you can copy those dictionaries, which are located
in the installation folders for those applications.
Otherwise, you need to download the required dictionary files from
http://wiki.services.openoffice.org/wiki/Dictionaries
Once you have got the dictionary files, you
probably need to rename them so that the filenames only have
the locale chars in it.
Example:
en_US.aff
en_US.dic
Then just copy them to the bin sub-folder of
the TortoiseGit installation folder. Normally this will be
C:\Program Files\TortoiseGit\bin.
If you don't want to litter the bin sub-folder,
you can instead place your spell checker files in
C:\Program Files\TortoiseGit\Languages. If that folder isn't
there, you have to create it first.
The next time you start TortoiseGit, the spell checker will be available.
If you install multiple dictionaries, TortoiseGit uses these rules
to select which one to use.
Check the tsvn:projectlanguage setting.
Refer to for information
about setting project properties.
If no project language is set, or that language is not
installed, try the language corresponding to the Windows locale.
If the exact Windows locale doesn't work, try the
Base
language, eg.
de_CH (Swiss-German) falls back to
de_DE (German).
If none of the above works, then the default language
is English, which is included with the standard installation.