divekit history

Remediate sensitive content that already reached Git history

Synopsis

Remediate an incident after sensitive content, such as a CSV with all member usernames, was already pushed to many student repositories.

This is not the preventive warning of distribute and patch, and it never runs after an ordinary warning. A later patch –delete only removes a file from the current tree: older commits and GitLab-side references keep the content.

history remove deletes every historical version of whole files, and history redact replaces literal strings where the surrounding files must stay. Both plan, confirm, execute, verify and finalize a resumable run across the repositories of a distribution, with GitLab’s server-side history rewrite.

Usage

divekit history [flags]

Inherited Flags

-l, --loglevel string   log level (debug, info, warn, error, fatal) (default "info")
      --no-index          skip project index update
      --non-interactive   run in non-interactive mode (fails if interactive input is required)
  -y, --yes               assume yes/default for all prompts (non-interactive with automatic defaults)

Available Subcommands

  • redact — Replace literal strings in the history of all repositories
  • remove — Remove every historical version of files from all repositories
  • resume — Continue an interrupted or partly failed history run

divekit history redact

Replace literal strings in the history of all repositories

divekit history remove

Remove every historical version of files from all repositories

divekit history resume

Continue an interrupted or partly failed history run