git-sync-main

Sync local main branch with the latest code from official upstream or origin remote

Skill file

Preview skill file
---
name: git-sync-main
description: Sync local main branch with the latest code from official upstream or origin remote
allowed-tools:
  - Bash
---

# Git Sync Main

同步最新主分支代码到本地并切换到主分支。支持两种场景:fork 的项目从 official remote 同步,自己的项目从 origin 同步。

## 触发条件

当用户要求同步上游代码、更新主分支、或拉取最新主分支代码时使用此 skill。

## 执行步骤

1. **检查 remote 配置**:`git remote -v`,确认是否存在 `official` remote。

2. **根据是否存在 official remote 分两种情况执行**:

### 情况一:存在 official remote(fork 的项目)

3. **检测主分支名称**:通过 `git remote show official` 或查看本地分支,确定主分支名称(`main` 或 `master`)。

4. **拉取 official 最新代码**:`git fetch official`。

5. **切换到本地主分支**:`git checkout <main-branch>`。

6. **同步代码**:`git reset --hard official/<main-branch>`,将本地主分支重置到 official 最新状态。

7. **推送到 origin**:`git push origin <main-branch> --force-with-lease`,同步自己 fork 的远端主分支。

### 情况二:不存在 official remote(自己的项目)

3. **检测主分支名称**:通过查看本地分支,确定主分支名称(`main` 或 `master`)。

4. **拉取 origin 最新代码**:`git fetch origin`。

5. **切换到本地主分支**:`git checkout <main-branch>`。

6. **同步代码**:`git pull origin <main-branch>`,将本地主分支同步到 origin 最新状态。

### 共同步骤

8. **验证结果**:`git log --oneline -5`,展示最新的几条 commit 确认同步成功。

## 注意事项

- 始终使用 `official` 作为上游 remote 名称(而非 `upstream`),以保持一致性。
- 对于 fork 项目,推送到 origin 时使用 `--force-with-lease` 而非 `--force`,更安全地强制推送。
- 如果当前有未提交的改动,先提示用户处理(stash 或 commit),避免丢失工作。

Source

Creator's repository · zc277584121/mygitplugin

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk