Git Integration

Use Git directly from tibok for seamless publishing workflows

Overview

When you open a folder that's a Git repository, tibok automatically detects it and shows:

  • Branch name in the status bar
  • Change count indicator
  • Status indicators on files in the sidebar
  • Git panel with staged/unstaged changes, branches, and stashes

Setting Up Git

Initializing a Repository

If your folder isn't already a Git repository:

  1. Open the command palette
  2. Search for "Git: Initialize Repository" or similar Git commands
  3. Select the command to initialize Git in your current workspace

Connecting to a Remote

To connect your repository to GitHub or another remote:

  1. Open the command palette
  2. Search for "Git: Add Remote"
  3. Enter your remote URL (e.g., https://github.com/username/repo.git)

Common Git Operations

Commit Changes⌘⇧K

Stage files, then commit with a message. Available in Git panel or command palette.

Push to RemoteCommand only

Push your commits to the remote repository. Available in the command palette.

Pull from RemoteCommand only

Fetch and merge changes from the remote repository.

Create BranchCommand only

Create and switch to a new branch. Useful for feature work or drafts.

Switch BranchCommand only

Switch between existing branches in your repository.

Git Panel Features

Branch Management

The Git panel includes a Branches section where you can:

  • View all local branches (current branch marked with ✓)
  • Create new branches with validation
  • Switch branches (with options to stash or bring changes)
  • Delete branches (protected branches like main/master require extra confirmation)

Stash Management

Temporarily save uncommitted changes:

  • Create stashes with optional messages
  • Apply stashes to restore changes
  • Pop stashes (apply and delete in one action)
  • Drop stashes to delete without applying

File Status Indicators

Files in the sidebar show colored dots:

  • Blue - Modified (unstaged changes)
  • Green - Staged (ready to commit)
  • Yellow - Untracked (new file)
  • Red - Conflict (merge conflict)
  • Gray - Deleted

Publishing Workflows

tibok's Git integration works well with static site generators and deployment services:

  • Push to GitHub for GitHub Pages deployment
  • Use with Jekyll, Hugo, or other static site generators
  • Integrate with deployment services via webhooks (configured in Settings)

Blogging Integration

tibok supports publishing directly to a WordPress site using two methods:

  • Post by Email: Configure WordPress to accept posts via email, then use tibok's email export feature to publish your markdown content directly to your WordPress site.
  • WordPress REST API: Use WordPress App Passwords to authenticate and publish posts via the WordPress REST API. Configure your WordPress site URL and App Password in tibok's settings to enable API-based publishing.

Status Bar

The status bar at the bottom of the editor shows:

  • Branch name (e.g., "main" which indicates a Git repo)
  • Change count (e.g., "• 3" for 3 modified files)

Troubleshooting

Git Not Found

Make sure Git is installed on your Mac. You can install it via Xcode Command Line Tools: xcode-select --install

Authentication Issues

For GitHub, use a Personal Access Token instead of your password. Generate one in GitHub Settings → Developer settings → Personal access tokens.

Merge Conflicts

If you encounter merge conflicts, tibok will highlight the conflicted sections. Resolve them in the editor, then commit the resolution.