update-from-upstream-main

Sync a Remotion branch with the latest canonical main branch.

57.9k|4.4k|Updated Jun 23, 2020
One-click install
npx skills add https://github.com/remotion-dev/remotion --skill update-from-upstream-main
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-from-upstream-main
Source: https://github.com/remotion-dev/remotion/tree/main/.agents/skills/update-from-upstream-main
Command: npx skills add https://github.com/remotion-dev/remotion --skill update-from-upstream-main

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Keeping a feature branch or local checkout aligned with the canonical remotion-dev/remotion main branch is error-prone when local changes, merge conflicts, and published history are involved. This Skill automates the fetch, merge, and validation steps while preserving stashed work and avoiding destructive operations like rebase or force-push.

Core Features & Use Cases

  • Safe Stash Handling: Automatically stashes staged, unstaged, and untracked changes before the update and reapplies them after, recording the stash commit ID for precise restoration.
  • Conflict Resolution Guidance: Detects conflict markers, resolves files deliberately without blanket ours/theirs choices, and validates the result before committing.
  • Use Case: A contributor working on a pull request branch needs to bring it up to date with the latest upstream main before requesting review, without rewriting the published branch history.

Quick Start

Use the update-from-upstream-main skill to sync my current branch with the latest canonical main from remotion-dev/remotion.

Frequently Asked Questions about update-from-upstream-main

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update my branch with the latest upstream main in Git?

Fetch the canonical remote main branch and merge it into your current branch using `git fetch <remote> main` followed by `git merge --ff-only` on main or `git merge --no-edit` on feature branches. This preserves published history without rebasing or force-pushing.

How to sync a pull request branch with upstream main without force-push?

Use a normal merge from the canonical remote main into your feature branch with `git merge --no-edit <remote>/main`. This creates a merge commit that keeps the published branch history intact and can be pushed normally.

What happens to local changes when merging upstream main?

Stash staged, unstaged, and untracked changes with `git stash push --include-untracked` before the merge, record the stash commit ID, then reapply with `git stash apply --index` after the merge completes. Resolve any conflicts that arise during reapplication.

Why does git merge conflict resolution fail with leftover markers?

Conflict markers (`<<<<<<<`, `=======`, `>>>>>>>`) remain in files when resolution is incomplete. Search for them with ripgrep and remove them before staging the resolved files and committing the merge.

When should I rebase instead of merging upstream main?

Rebasing rewrites published commit history and should be avoided on shared or pull request branches. Use merge instead to preserve history; only rebase local-only branches where force-push is acceptable.