This is a series of articles related to Git GUI Clients.
Note. Although Git is very popular in the software development process, there is no category defined in this C # Corner site. So, we put the articles under the DevOps category.
When we discuss these Client GUI for Git, we consentrate on these following features assiacted with the specific Client GUI::
- Visual Studio, VS Code
- Repos Management (Local):
- Create a Repository, Branch
- Clone a Repository
- Merge, Rebase, Reset, Revert a Branch...
- Interaction between Local Repos and Remote
- Editor (+ the original environment funcitonalities, such as compiling, debugging and so on)
- GitHub Desktop, TortoiseGit, SmartGit
- Repos Management (Local)
- Interaction between Local Repos and Remote
- GitHub Server
- Repos Management (Remote)
- Interaction between Repos and Server automation (pipeline)
A - Introduction
In this article, we will describe What the SVN is and its major features. The content of this article:
- A: Introduction
- B: What TortoiseGit is
- C: Why Choose TortoiseGit
- D: Demo of Major Functionalites of TortoiseGit
- D-1: Git Setup
- D-2: Clone Files/Folder from Server to Local
- E: Major Features of TortoiseGit
B - What TortoiseGit is
TortoiseGit is a Git revision control client, implemented as a Windows shell extension and based on TortoiseSVN. It is free software released under the GNU General Public License.
In Windows Explorer, besides showing context menu items for Git commands, TortoiseGit provides icon overlays that indicate the status of Git working trees and files.
It also comes with the TortoiseGitMerge utility to visually compare two files and resolve conflicts.
C - Why Choose TortoiseGit
For TortoiseGit, I had at least two working environments to use as a source control tool, and in one environment, I used SVN (Subversion) as server-side source control and TortoiseSVN as a client tool to manage SVN locally. And furthermore, I found a useful feature that Visual Studio does not have, say, using TortoiseGit, one does not need to open a project or folder to manage the files in it, but just in any folder or file, right-click can invoke the TortoiseGit and do the job you need. So chose this Client GUI and will have an article or two to discuss it.
D - Demo of Major Functionalites of TortoiseGit
Due to we will show the most popular features of TortoiseSVN in the article, , that are much like what TortoiseGit. So we will not discuss the details of the TortoiseGit feature in this article, we just show some major things.
D-1. Git Setup: --- 6/2/2022 12:24 PM
Download – TortoiseGit – Windows Shell Interface to Git
![]()
Right Click any File or Folder in File Explorer, you will see Context menu:
Before Installation:
![]()
After installation --- TortoriseGit is added:
![]()
![]()
D-2. Git Clone: from Repos --- 6/6/22
Right Click a Folder in File Explorer => Git Clone
![]()
Open Windows: Git clone - TortoiseGit:
![]()
Open Repository from Server and Choose URL:
![]()
Get URL
Pass URL chosen from Server into Tortoise Git Client Window:
Click OK to Clone:
![]()
E - Major Features of TortoiseGit
Repository Browser:
![]()
Browse references:
![]()
Context menu:
The context menu is the main way of interacting with TortoiseGit. In the following image you see several possible options. The options shown are tailored to the current context (e.g., "Add" is only visible for unversioned files and "Diff" is not visible here is only shown for modified files) - you won't see any commands that you can't use in your situation. There are also enhanced drag'n'drop context menus.
![]()
Common tasks
Cloning
![]()
Commit Dialog
Support spell checking (English + different languages based on installed language packs), basic styling and, autocompletion of filenames as well as method and variable names for various programming languages
![]()
Push Dialog
![]()
Sync Dialog
![]()
Log Dialog
![]()
Compare (Revisions) Dialog
![]()
Revision Graph
![]()
Merge Dialog
![]()
Conflict handling
![]()
Rebase Dialog
![]()
TortoiseGitMerge: Diffing/Merging files/patches
TortoiseGitMerge can open Git patch file directly, you review it and patch to working copy.
![]()
![]()
References: