Files
gitea-docker/ob.md
2025-06-20 19:38:38 -06:00

3.7 KiB

Setting Up Git Access with Gitea and Obsidian

Part 1: Authorizing Git Client Access

Prerequisites

  • Gitea instance accessible through your domain (bee8333.ddns.net) via HTTPS
  • Administrative privileges for initial setup

Repository Setup

  • For new repositories using HTTPS:
git clone https://bee8333.ddns.net:3000/username/repository.git
  • For new repositories using SSH:
git clone ssh://git@bee8333.ddns.net:222/username/repository.git
  • For existing repositories (HTTPS):
git remote set-url origin https://bee8333.ddns.net:3000/username/repository.git
  • For existing repositories (SSH):
git remote set-url origin ssh://git@bee8333.ddns.net:222/username/repository.git

Authentication

When using HTTPS:

  1. You'll be prompted for your Gitea username and password
  2. For better security, create a Personal Access Token in Gitea:
    • Go to Settings → Applications → Generate New Token
    • Give it a description
    • Copy the token immediately (it won't be shown again)
    • Use this token as your password when Git asks for credentials

When using SSH:

  1. Generate an SSH key pair if you haven't already:
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
  2. Add your public key to Gitea:
    • Go to Settings → SSH / GPG Keys
    • Click "Add Key"
    • Paste your public key (from ~/.ssh/id_ed25519.pub)
  3. SSH will use your key automatically for authentication

Important Note

When using non-standard HTTPS ports (like 3000):

  1. Use an elevated (Administrator) PowerShell/Command Prompt for Git operations
  2. Regular terminals in VS Code/Cursor may not have sufficient privileges
  3. If Git operations fail, try running your terminal as Administrator

Part 2: Obsidian-Git Integration

Plugin Installation

  1. Open Obsidian Settings → Community plugins
  2. Search for "Obsidian Git"
  3. Install and enable the plugin

Plugin Configuration

  1. Go to Settings → Community plugins → Obsidian Git
  2. Recommended settings:
    • Auto pull interval (disable when using Syncthing)
    • Show status bar
    • Source Control View
    • Show changes files count in status bar
    • Configure default commit message

Essential Commands

Access these via Command Palette (Ctrl/Cmd + P):

  • Open source control view - View changes and branch info
  • List changed files - See modifications
  • View diff - Check file changes
  • Stage/Unstage current file - Prepare for commit
  • Commit staged - Save staged changes
  • Create/Switch branch - Branch management
  1. Make changes in Obsidian
  2. Check Source Control View
  3. Stage desired files
  4. Commit with meaningful message
  5. Push to Gitea

Status Bar Features

  • Current branch name
  • Number of changed files
  • Sync status indicators

Important Configuration

Gitignore Setup

Add these patterns to .gitignore:

.trash/
.stversions/
.obsidian/workspace.json
.obsidian/workspace-mobile.json

Security Best Practices

  • Keep SSH private keys secure
  • Use strong SSH key passphrases
  • Regularly review and clean up SSH keys in Gitea
  • Never share private keys

Syncthing Compatibility

  • Wait for Syncthing sync before Git operations
  • Commit/push before closing Obsidian
  • Ensure .stversions is in .gitignore

Performance Tips

  • Stage files individually
  • Use branches for major changes
  • Commit regularly, push selectively
  • Monitor Source Control View

Collaboration Guidelines

  • Pull before making changes
  • Use branches for significant changes
  • Check diff view for conflicts
  • Let Syncthing sync complete before Git operations