How to use this guide: Most operations start by right-clicking the repository folder in Windows Explorer and selecting TortoiseGit. The equivalent Git command is shown for command-line reference.
1. TortoiseGit Basics
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Install | Install Git for Windows first, then install TortoiseGit. TortoiseGit provides Windows Explorer integration for Git. |
Repository | A Git repository is normally created inside a local project folder. TortoiseGit exposes Git operations through the Windows Explorer right-click context menu. |
Context Menu | Right-click a repository/folder in Windows Explorer → TortoiseGit to access Git operations. |
Git Bash | For commands that are easier to perform from a terminal, right-click the repository → Git Bash Here. |
2. Clone a Repository
| TortoiseGit / Action | Windows procedure / explanation |
|---|
TortoiseGit → Clone... | Right-click the target folder → TortoiseGit → Clone... |
URL | Enter the repository URL, for example an HTTPS or SSH repository URL. |
Directory | Select the local directory where the repository should be created. |
Clone | Click OK/Clone and wait for the clone operation to complete. |
Equivalent command | git clone <repo-url> |
3. Create a Branch
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Create from current branch | Right-click repository → TortoiseGit → Create Branch... |
Branch name | Enter a branch name such as feature/login-api. |
Base revision | Select the revision/branch from which the new branch should be created. |
Switch immediately | Use the option to switch/checkout the newly created branch if required. |
Equivalent command | git checkout -b <branch> |
4. Checkout / Switch Branch
| TortoiseGit / Action | Windows procedure / explanation |
|---|
TortoiseGit → Switch/Checkout | Right-click repository → TortoiseGit → Switch/Checkout... |
Select branch | Choose the local or remote branch you want to switch to. |
Create tracking branch | When checking out a remote branch, TortoiseGit can create a local branch that tracks the remote branch. |
Equivalent commands | git checkout <branch> | git switch <branch> |
5. Add and Commit Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Check for changes | Right-click repository → TortoiseGit → Check for Modifications. |
Add files | Select unversioned files → right-click → Add. |
Commit | Select changed/staged files → right-click → Git Commit → <branch>... |
Message | Enter a meaningful commit message, review the changed files, then commit. |
Equivalent commands | git add <file> | git commit -m "<message>" |
6. Pull Latest Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Pull | Right-click repository → TortoiseGit → Pull... |
Remote | Select the remote, normally origin. |
Remote branch | Select the branch to pull from. |
Pull | Execute the pull operation. Depending on configuration, Git may merge or rebase the fetched changes. |
Equivalent command | git pull <remote> <branch> |
7. Fetch Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Fetch | Right-click repository → TortoiseGit → Fetch... |
Remote | Select origin or another configured remote. |
Fetch all | Use the appropriate option when you want to update all remote references. |
Important | Fetch downloads remote changes without merging them into your current working branch. |
Equivalent command | git fetch <remote> |
8. Push Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Push | Right-click repository → TortoiseGit → Push... |
Remote | Usually select origin. |
Branch | Select the local branch and corresponding remote branch. |
Set upstream | For a new branch, configure the remote tracking/upstream branch when required. |
Equivalent command | git push <remote> <branch> |
9. Merge a Branch
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Checkout target branch | First switch to the branch that should receive the changes. |
Merge | Right-click repository → TortoiseGit → Merge... |
Source | Select the branch or revision that should be merged. |
Review | Resolve conflicts if Git reports any, then commit the merge result when required. |
Equivalent command | git merge <branch> |
10. Rebase Using TortoiseGit
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Checkout your branch | Switch to the branch that you want to rebase. |
Rebase | Right-click repository → TortoiseGit → Rebase... |
Base | Select the target branch/revision, such as origin/main. |
Conflicts | If conflicts occur, resolve them and continue the rebase using the TortoiseGit rebase workflow. |
Equivalent commands | git rebase <base> | git rebase --continue |
11. Create a Release Tag
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Create Tag | Right-click repository → TortoiseGit → Create Tag... |
Tag name | Use a clear release name such as v1.0.0. |
Revision | Create the tag from the exact commit that represents the release. |
Push tag | After creating the local tag, push it to the remote repository. |
Equivalent commands | git tag v1.0.0 | git push origin v1.0.0 |
12. Create a New Branch from a Release Tag
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Fetch tags | First fetch the latest remote tags if the required tag is not available locally. |
Checkout tag | Right-click repository → TortoiseGit → Switch/Checkout... and select the release tag. |
Create branch | Create a new branch from that tag, for example release/1.0.x. |
Push branch | Push the new branch to origin and configure upstream tracking if needed. |
Equivalent commands | git fetch --tags | git checkout -b release/1.0.x v1.0.0 | git push -u origin release/1.0.x |
13. Stash Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Stash Save | Right-click repository → TortoiseGit → Stash Save... to temporarily store local modifications. |
Stash Apply | Use Stash List and apply a selected stash when you want to restore the changes. |
Stash Pop | Apply the stash and remove it from the stash list when appropriate. |
Equivalent commands | git stash push -m "message" | git stash pop |
14. Compare / Diff
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Check modifications | Use TortoiseGit → Check for Modifications to review local changes. |
Diff | Right-click a modified file → Diff to compare it with the relevant Git version. |
Log | Use TortoiseGit → Show Log to inspect commit history. |
Compare branches | From the log/branch comparison tools, compare revisions or branches before merging. |
Equivalent commands | git diff | git log | git diff <branch1>..<branch2> |
15. Undo / Reset Changes
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Unstage | Use the TortoiseGit commit/staging interface to remove a file from the staging area without discarding its working-tree changes. |
Revert commit | Use TortoiseGit → Show Log → right-click the commit → Revert change by these commits. |
Reset | Use the reset functionality carefully when moving the branch pointer or changing the index/working tree. |
Hard reset warning | A hard reset can discard uncommitted changes. Confirm the files/commits you intend to remove before executing it. |
Equivalent commands | git reset <file> | git revert <commit> | git reset --hard <commit> |
16. Resolve Merge Conflicts
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Identify conflict | TortoiseGit reports conflicted files after merge, rebase, pull, or another operation. |
Edit conflicts | Right-click the conflicted file → TortoiseGit → Edit Conflicts / Resolve using the configured merge tool. |
Mark resolved | After resolving and saving the file, mark the conflict as resolved. |
Complete operation | For a merge, commit the resolved result. For a rebase, continue the rebase. |
Equivalent commands | git status | git add <resolved-file> | git merge --continue / git rebase --continue |
17. Manage Remote Repository
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Remote settings | Right-click repository → TortoiseGit → Settings → Git → Remote. |
Add remote | Configure a remote name such as origin and its repository URL. |
Change URL | Update the remote URL when the repository location changes. |
Equivalent commands | git remote -v | git remote add <name> <url> | git remote set-url <name> <url> |
18. Useful Windows + Git Commands
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Open repository in Explorer | Use Windows Explorer and navigate to the repository folder. |
Open Git Bash | Right-click inside the repository folder → Git Bash Here. |
Current directory | cd <folder-path> |
List files | dir |
Git status | git status |
Show branches | git branch -a |
Show remotes | git remote -v |
View log | git log --oneline --decorate --graph --all |
19. Recommended Windows Developer Workflow
| TortoiseGit / Action | Windows procedure / explanation |
|---|
1. Pull | TortoiseGit → Pull... before starting work. |
2. Branch | Create a feature branch from the correct base branch. |
3. Code | Modify the application and test locally. |
4. Review | Use Check for Modifications and Diff. |
5. Commit | Create a small, meaningful commit. |
6. Pull/Rebase | Update your branch before pushing according to the team's workflow. |
7. Push | Push the feature branch to origin. |
8. Pull Request | Create the Pull/Merge Request in your Git hosting platform. |
9. Release | For releases, create a tag from the approved release commit and push the tag. |
20. Important TortoiseGit Tips
| TortoiseGit / Action | Windows procedure / explanation |
|---|
Use meaningful branches | Examples: feature/login-api, bugfix/otp-expiry, release/1.0.x, hotfix/security-fix. |
Use meaningful commits | Examples: Add OTP expiration validation; Fix JWT refresh-token validation. |
Pull before work | Start work from an updated base branch. |
Review before push | Always inspect the diff and changed files before pushing. |
Be careful with force push | Avoid force-pushing shared branches. If rewriting your own remote branch is explicitly approved, understand the impact first. |
Protect main/release | Prefer Pull/Merge Requests and branch protection for shared branches. |
Note: TortoiseGit menu names can vary slightly by installed version and configuration. The Git command shown is the conceptual command-line equivalent; always review the operation before executing destructive actions such as reset, clean, or force push.