Using TortoiseGit / Git command line

🧭 What is this about?

While Git Winch is designed to simplify collaboration by managing Git repositories, locking files, and notifying users of changes, some advanced users may prefer to use Git Bash, Command Prompt, or TortoiseGit for operations beyond the Git Winch scope β€” such as creating branches, merging branches, resolving conflicts manually, viewing logs, or advanced history manipulation.

⏰ When would I need this?

You may need this setup after cloning a repository using Git Winch, if:

❓ Why use other Git tools?

While Git Winch is designed to handle typical collaboration tasks and prevent file conflicts via its locking mechanism, it intentionally avoids exposing the full Git command set to avoid confusion for non-technical users.

Advanced users may want:

This guide enables you to extend Git Winch repositories into your preferred Git environment without breaking access controls.

πŸ—‚οΈ Where does this apply?

This setup applies to each Git repository cloned by Git Winch, regardless of whether it's hosted on GitHub, GitLab, or Gitea. It needs to be configured once per repository, and works on any system where OpenSSH is available (e.g., Windows 10/11 with Git and TortoiseGit installed). β€”

πŸ› οΈ How to Set Up External Git Tools

Step 1: Configure SSH Access for Git CLI

After cloning a repository with Git Winch, run the following command to link the correct `.priv` key (used for deploy access) with that specific repo:

git -C "<path-to-repo>\<repo-name>" config core.sshCommand "ssh -i \"<path-to-key>/<repo>_<member>.priv\" -o IdentitiesOnly=yes"

This ensures Git uses the correct private key for that repo without relying on Pageant or a global SSH config.

βœ… Example: For repository "gitwinchrepo" created for member John
git -C "C:\Projects\gitwinchrepo" config core.sshCommand "ssh -i \"C:/gitwinch/members/gitwinchrepo_John.priv\" -o IdentitiesOnly=yes"

This command writes the key configuration into the repository’s `.git/config` file, making it persistent and repo-specific.


Step 2: Configure TortoiseGit to Use OpenSSH

To ensure TortoiseGit respects the same per-repository SSH setting:

1. Open TortoiseGit β†’ Settings β†’ Network 2. Set SSH Client to:

C:\Windows\System32\OpenSSH\ssh.exe

3. Click OK to save.

This enables TortoiseGit to invoke the same SSH client used by Git CLI and honor the `core.sshCommand` setting stored in the repo.


🎯 With this setup, you can use TortoiseGit, Git Bash, or the Command Prompt seamlessly alongside Git Winch, without needing Pageant or modifying your global `.ssh/config`. Each repo remains isolated with its own deploy key and member access β€” exactly as Git Winch intends.


Advanced uses | Learn the concepts | Table of Contents