Git 常用操作备忘

命令备忘

基础配置

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

日常工作流

# 查看状态
git status

# 添加文件到暂存区
git add .                    # 全部
git add file.py              # 指定文件

# 提交
git commit -m "feat: 新功能描述"

# 拉取远程最新代码
git pull origin main

# 推送到远程
git push origin master
git push origin master:hongye   # 本地 master 推到远程 hongye 分支

分支操作

# 查看分支
git branch                   # 本地
git branch -a                # 包含远程

# 创建并切换分支
git checkout -b feature-xxx

# 切换分支
git checkout master

# 合并分支
git merge origin/main --no-edit

# 删除分支
git branch -d feature-xxx    # 本地
git push origin --delete xxx # 远程

远程仓库

# 查看远程
git remote -v

# 添加远程
git remote add deploy https://git.xxx.com/repo.git

# 修改远程地址
git remote set-url origin https://新地址.git

# 拉取远程(不合并)
git fetch origin

# 查看远程分支的提交
git log --oneline origin/main -10

暂存(Stash)

# 暂存当前修改
git stash push -m "描述"

# 查看暂存列表
git stash list

# 恢复暂存
git stash pop

# 丢弃暂存
git stash drop

查看历史

# 简洁日志
git log --oneline -20

# 所有分支
git log --oneline --all -30

# 查看两个分支的差异
git diff origin/hongye..origin/main --stat

# 查看某次提交的内容
git show abc1234

撤销操作

# 撤销工作区修改(未 add)
git checkout -- file.py

# 撤销暂存(已 add 未 commit)
git reset HEAD file.py

# 撤销最近一次提交(保留修改)
git reset --soft HEAD~1

# 强制回退(丢弃修改,慎用)
git reset --hard HEAD~1

解决冲突

# 合并时遇到冲突
git merge origin/main
# 手动编辑冲突文件,然后:
git add .
git commit -m "resolve conflicts"

# 用对方版本解决
git checkout --theirs file.txt
# 用自己版本解决
git checkout --ours file.txt

提交规范(Conventional Commits)

feat: 新功能
fix: 修复 bug
refactor: 重构
docs: 文档
chore: 杂项(配置、依赖)
test: 测试
style: 格式调整

示例:

git commit -m "feat: 接入百度OCR保底识别"
git commit -m "fix: 修复压缩包多文件解压报错"
git commit -m "chore: 更新 pyproject.toml 依赖"

常见问题

push 被拒绝(protected branch)

# 推到新分支,再提 MR
git push deploy master:hongye

Everything up-to-date

# 说明没有新提交,先 commit
git add .
git commit -m "xxx"
git push

合并时本地有未提交修改

git stash
git merge origin/main
git stash pop

强制推送(覆盖远程,慎用)

git push --force origin master
posted @ 2026-05-28 10:23  江鸟Dev  阅读(0)  评论(0)    收藏  举报