Skip to main content

Git 以及 GitHub

Git & PR 高效指北:核心工作流与常用命令速查

在现代软件开发中,Git 是协作的语言,而 Pull Request (PR) 则是沟通的桥梁。一个清晰、规范的 PR 流程不仅能保证代码质量,更能提升整个团队的开发效率。

本文为你提供一套精炼的 核心工作流 和一份实用的 常用命令锦囊,无论你是团队新人还是资深开发者,都能从中找到价值。


⭐ 核心 PR 工作流 (The Core Workflow)

这五个步骤构成了最核心、最安全的 PR 提交流程。养成习惯,告别混乱。

第一步:🔄 同步主干 (Sync)

在开始任何新工作前,永远先将你的本地主分支 (mainmaster) 与远程仓库同步。

# 1. 切换到主分支
git checkout main

# 2. 从远程仓库拉取最新代码
git pull origin main

💡 目的:基于最新的代码进行开发,从源头避免未来的合并冲突。

第二步:🌿 创建分支 (Branch)

为你的每个任务(新功能、Bug修复)创建一个独立的分支。严禁直接在 main 分支上进行任何修改!

# 创建一个新分支并立即切换过去
git checkout -b <your-branch-name>

🏆 命名艺术:好的分支名是成功的一半。推荐格式:feat/功能描述fix/问题描述。例如:feat/user-loginfix/avatar-display-bug

第三步:✍️ 修改与提交 (Commit)

在新分支上安心编码。完成后,将你的成果提交到本地仓库。

# 1. (在这里施展你的才华,修改/添加代码...)

# 2. 将所有变更添加到暂存区
git add .

# 3. 提交你的变更,并附上一个清晰的说明
git commit -m "feat(user): 添加用户登录功能"

💡 提交信息 (Commit Message):一个有意义的提交信息至关重要。遵循 Conventional Commits 规范(如 feat:fix:docs: 开头)能让你的提交历史一目了然。

第四步:🚀 推送分支 (Push)

将你的本地分支及所有提交推送到远程仓库(例如 GitHub)。

git push origin <your-branch-name>

💡 首次推送:建议使用 git push -u origin <your-branch-name>-u 参数会将你的本地分支与远程分支关联,之后该分支上再次推送时,只需简单输入 git push 即可。

第五步:✨ 创建 PR (Pull Request)

这是协作的开始!前往 GitHub,将你的分支“提议”合并到主分支中。

  1. 打开你的 GitHub 仓库页面。
  2. 通常,页面顶部会自动出现一个黄色提示框,点击 Compare & pull request 按钮。
  3. 填写标题和描述:清晰地说明你做了什么为什么这么做以及解决了什么问题
  4. 在右侧面板指定 Reviewers(代码审查者)。
  5. 点击 Create pull request,然后等待同事的反馈吧!

📚 常用命令锦囊 (Common Commands)

除了核心流程,这些命令能帮你应对开发中的各种日常状况。

查看状态与历史

命令 作用
git status 查看当前工作区的文件状态(哪些被修改、哪些是新增的)。
git log 查看详细的提交历史
git log --oneline --graph 单行和图形的方式展示提交历史,更清晰直观。

代码“后悔药”

命令 场景
git restore <file> 撤销工作区的修改(文件还未 git add)。
git restore --staged <file> 取消暂存(文件已经 git add,但想撤销 add 操作)。
git commit --amend 修改最后一次的提交信息,或将当前暂存的修改合并到上一次提交中。(切勿对已推送的提交使用)
git revert <commit-id> 安全地撤销一个已经推送到远程的提交。它会创建一个新的提交来抵消旧提交的更改。

分支管理

命令 场景
git rebase main 在你的功能分支上执行,将 main 分支的最新变更变基到你的分支,保持提交历史线性整洁。
git stash 临时保存当前未提交的工作,让你能干净地切换到其他分支。
git stash pop 恢复最近一次 stash 的内容并从堆栈中移除。

📋 终极速查表 (Cheatsheet)

操作 (Operation) 核心命令 (Core Command)
同步主干 git checkout main && git pull
创建并切换分支 git checkout -b <branch-name>
暂存所有修改 git add .
提交到本地 git commit -m "注释"
推送到远程 git push origin <branch-name>
查看状态 git status
查看简洁历史 git log --oneline
撤销工作区修改 git restore <file>
更新当前分支 git rebase main
临时保存工作 git stash & git stash pop