本文へ移動
cccskills
無料GitHub で公開

git-upstream-sync

The only way to merge origin/main into a branch, conflicts or not. Use it every time main comes in — a PR reported conflicting or DIRTY, a branch behind origin/main, a CI failure to reproduce on the merged tree. Never run `git merge origin/main` or `git pull origin main` by hand.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wadoスター 119(GitHub 119 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Overview

Merge origin/main into the current branch. Follow every step whether or not the merge conflicts: a clean merge still ends with the sanity check.

Procedure

1. Fetch and merge with zdiff3

If the branch is on origin, pull it first: CI's tidy job may have pushed chore: tidy onto it. If that pull conflicts, take it through steps 2 and 3, then start again here, so origin/main is merged too. Then move the checked-out submodules to the pointers the merge recorded, so the next git add -A does not stage a stale checkout.

b=$(git branch --show-current)
if git ls-remote --exit-code --heads origin "$b" > /dev/null; then
  git pull --no-rebase origin "$b" || exit 1   # a conflict stops here
fi
git fetch origin main
git -c merge.conflictstyle=zdiff3 merge origin/main
git submodule update --recommend-shallow

2. If conflicts exist, commit them as-is

If the merge produces conflicts, commit the conflict markers without resolving them first. This records the raw conflict state in a dedicated commit, separate from the resolution.

git add -A
git diff --cached origin/main -- vendor
git commit -m "merge origin/main (conflicts unresolved)"

The vendor diff prints nothing unless the branch bumps a submodule itself. Anything else is a stale checkout that git add -A staged, reverting main's bump. Restore main's pointer for each such path before committing, and check again after every git add -A, step 3's included:

git update-index --cacheinfo 160000,"$(git rev-parse origin/main:vendor/wasmtime)",vendor/wasmtime

3. Resolve conflicts

After committing the unresolved state:

  1. Read each conflicted file and understand both sides of the conflict
  2. Resolve conflicts in code files (remove conflict markers, choose correct code)
  3. For generated files (golden fixtures, generated parsers, …) that conflict, regenerate them by re-running their generator and commit the fresh output — do not hand-resolve the markers or defer them (see "Generated files" below)
  4. Stage and commit the resolution:
git add -A
git diff --cached origin/main -- vendor   # as in step 2
git commit -m "resolve merge conflicts"

4. Run mise run test for sanity check

CI applies clippy and format, so a quick sanity check is sufficient.

Important

  • Always use -c merge.conflictstyle=zdiff3 so the merge base is visible in conflict markers (with zealous zdiff3 reducing noise)
  • Always commit the unresolved conflicts first, then resolve in a separate commit — this preserves a clear record of what the conflicts looked like vs how they were resolved
  • Do NOT squash the two commits together

Generated files

  • Always regenerate golden / generated files and commit. Re-run the generator (do not hand-resolve the markers) and commit its output. Do not skip them or defer them to on-task-done / CI.
  • Never silently discard generated output (e.g. git restore to clean the tree or quiet a hook). Commit it, or ask. Discarding generated work without asking is always wrong.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

benchmark

無料

Measure Wado's performance or the size of the Wasm it generates, and refresh the benchmark/ and wasm-size/ README files. Use for any benchmarking or size-measurement request, whichever benchmark it names.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

ci-timing

無料

Measure how long GitHub Actions jobs and steps took across past runs, and find the pull request that made CI slower. Use for any question about CI duration, a slow job, or when CI got slow.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

How to answer code review feedback — a human reviewer, CodeRabbit, or any review bot. Verify the findings, report the classes they are instances of to the user before fixing, then fix the class rather than the sites named. Put design decisions to the user, then run /distill. Invoke when responding to review comments on a pull request, or to the findings of a /code-review run.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

Investigate and improve code coverage for the wado-compiler crate. Use for any question about what the tests do and do not reach, dead code included.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

cr

無料

Review the branch with /code-review at high, then answer the findings with /code-review-response.

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

debugger

無料

Use rust-gdb to inspect variables and step through code without modifying it. Prefer it over print debugging for any investigation into what the compiler is actually doing (lldb is unavailable on Claude Code Web).

日本語の概要は準備中です。原文の説明を表示しています。

wado-lang/wado1192026年10月26日 更新

wado-lang のスキルをすべて見る

このスキルの問題を報告する