Gitwin is a packaging of Git, OpenSSH, Nginx and many other related tools to make it a ready-to-use solution as a secure git repository on Windows. It supports SSH and HTTP(S) transports as well as Gitweb with Highlighter and Gravatar support.
Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Gitweb is a Git web interface which allows browsing a git repository (or a set of git repositories) using a web browser. OpenSSH is a free version of the SSH protocol suite of network connectivity tools. Nginx is a high performance HTTP server. Cygwin is a Linux-like environment for Windows. It consists of a DLL (cygwin1.dll), which emulates substantial Linux API functionality, and a collection of tools.
Gitwin comes as a ZIP file containing an installer. Simply unzip your downloaded copy and run the package "Gitwin_x.x.x_Installer.exe" :
Accept License agreement.
Specify an installation location.
Installation starts. By clicking 'Details' button, you can get more detailed information about installation.
You have now a Windows based Git repository solution which can be accessed via ssh protocol.
Gitwin installer performs following steps:
Installs Copssh as OpenSSH server listening on the default ssh port 22. OpenSSH service is run by a dedicated service account with a complex password.
Opens tcp port 22 in the Windows firewall
Creates the user git with a complex password
Install Nginx HTTP server
Configure Gitweb in FastCGI mode
Gitwin supports Ssh protocol:
You need to activate a user for ssh access. User git created by the installer can be used for that purpose. Activation is done via Copssh Control Panel.
Your ssh-activated user needs to be enabled for public key authentication (pka). This can be done by clicking Keys button for the selected user in the Control Panel. You can either import a public key of your own (Import button), or let the pka wizard (Add button) create a pka key pair for you.
Create a git repository. It is so simple as to enter the command below from the Bash shell (available from Copssh start menu):
git init --bare /home/youruser/repo-a
You can now access your newly created repository from Git clients by using the url below:
Gitwin supports Smart HTTP(S) protocol with fallback to the dumb HTTP(S):
By default, neither authentication nor encrypted communication are enabled. It is strongly recommended that either basic or LDAP authentication is activated and a third party certificate is installed for secure communications.
By default, repositories in /home/git directory can be accessed. For read access, the file git-daemon-export-ok must exist in the repository. Authentication is strongly recommended. Following commands will clone the repository repo-a via http:
Gitwin supports Gitweb with Highlight and Gravatar support, which is available via http://localhost:9610. By default, Gitweb publishes Git repositories located at /home/git directory, with the file GITWEB_EXPORT_OK file existing in their .git directories. The built-in web server supports SSL communication, as well as basic/LDAP(Active Directory) authentication. Consult Git FAQs for recipes.