# ===== CodeLab: Git 常用命令速查手册 =====
# 来源: https://aoerliang.dpdns.org/articles/git-cheatsheet
# 以下代码片段按文章出现顺序拼接, 共 5 段

# ----- 片段 1 (bash) -----
git status          # 查看工作区状态
git add .           # 将改动加入暂存区
git commit -m "feat: 添加登录功能"   # 提交

# ----- 片段 2 (bash) -----
git branch                # 列出本地分支
git branch feature/login  # 新建分支
git checkout feature/login  # 切换分支(新版可用 git switch)
git switch -c dev         # 创建并切换
git merge feature/login   # 将分支合并到当前分支
git branch -d feature/login  # 删除已合并分支

# ----- 片段 3 (bash) -----
git clone https://github.com/user/repo.git
git remote -v             # 查看远程地址
git push origin main      # 推送
git pull origin main      # 拉取(fetch + merge)
git fetch origin          # 只拉取不合并

# ----- 片段 4 (bash) -----
git log --oneline --graph    # 图形化查看提交历史
git log -3                   # 最近 3 条
git diff                     # 工作区与暂存区差异
git diff HEAD                # 与最近提交的差异
git show <hash>              # 查看某次提交详情

# ----- 片段 5 (bash) -----
# 从最新主干拉新分支
git checkout main && git pull
git switch -c feature/login

# ...开发、提交...

# 合并前先同步主干
git checkout main && git pull
git merge feature/login

# 冲突时:手动编辑冲突文件,保留想要的内容后
git add .
git commit -m "merge: 合并登录功能"
