What is Git @ etoth.dev
This service is a private git server, for myself and friends. My GitHub is clustered with private repos, because everything I work on, gets versioned & history controlled with git. And I also want to work from my PC at home and from my laptop on the go. To clean up this mess, I set up this "GitHub"-like server. Mainly for private projects and co.
How to use Git @ etoth.dev
It's just a git server with a nice web GUI - just like GitHub, GitLab, ...
How to work on repositorys
You have two (three, but I will skip tea-cli) ways to get working:
- HTTPS
- SSH
HTTPS
To clone a repository with HTTPS you have to use git clone https://git.etoth.dev/user/repo.git.
Now you can start working and user all other common git commands.
SSH
Before you can clone, push and push (etc.) you have to make a short configuration to your local ssh config.
This is because I use a diffrent port for my git server.
Here you can copy the commands or get a script for your OS in the releases tab.
UNIX-like OS (most Linux distros and macOS)
mkdir -p ~/.ssh && chmod 700 ~/.ssh && [ -f ~/.ssh/config ] && cp ~/.ssh/config ~/.ssh/config.backup.$(date +%Y%m%d_%H%M%S); cat >> ~/.ssh/config << 'EOF'
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
EOF
chmod 600 ~/.ssh/config && echo "Done! Usage: git clone git@git.etoth.dev:user/repo.git"
Windows
CMD version:
if not exist "%USERPROFILE%\.ssh" mkdir "%USERPROFILE%\.ssh" & if exist "%USERPROFILE%\.ssh\config" copy "%USERPROFILE%\.ssh\config" "%USERPROFILE%\.ssh\config.backup.%date:~-4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%" >nul & (echo. & echo # Gitea Server git.etoth.dev & echo Host git.etoth.dev & echo HostName git.etoth.dev & echo User git & echo Port 222 & echo StrictHostKeyChecking accept-new & echo.) >> "%USERPROFILE%\.ssh\config" & echo Done! Usage: git clone git@git.etoth.dev:user/repo.git
PowerShell version:
$sshDir = "$env:USERPROFILE\.ssh"; if (-not (Test-Path $sshDir)) { New-Item -ItemType Directory -Path $sshDir | Out-Null }; $configFile = "$sshDir\config"; if (Test-Path $configFile) { Copy-Item $configFile "$configFile.backup.$(Get-Date -Format 'yyyyMMdd_HHmmss')" }; @"
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
"@ | Add-Content -Path $configFile; Write-Host "Done! Usage: git clone git@git.etoth.dev:user/repo.git" -ForegroundColor Green
Git bash version:
mkdir -p ~/.ssh && chmod 700 ~/.ssh && [ -f ~/.ssh/config ] && cp ~/.ssh/config ~/.ssh/config.backup.$(date +%Y%m%d_%H%M%S); cat >> ~/.ssh/config << 'EOF'
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
EOF
chmod 600 ~/.ssh/config && echo "Done! Usage: git clone git@git.etoth.dev:user/repo.git"
Adding a public ssh key
- Create or copy an existing ssh key
- UNIX-like:
ssh-keygen -t ed25519 -C "user@example.com" cat ~/.ssh/id_ed25519.pub - Windows (PowerShell):
ssh-keygen -t ed25519 -C "user@example.com" Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub" - Windows (CMD):
ssh-keygen -t ed25519 -C "user@example.com" type "%USERPROFILE%\.ssh\id_ed25519.pub"
- UNIX-like:
- Copy the output (should start with
ssh-ed25519and end with your chosen comment) - Now go to: Settings --> SSH/GPG Keys --> Add Key
- Test the setup (all OS):
ssh -T git@git.etoth.dev. The output shoulde be:Hi there, user! You've successfully authenticated with the key named YOUR-KEY, but Gitea does not provide shell access. If this is unexpected, please log in with password and setup Gitea under another user.