当前位置: 首页 > news >正文

Git典型使用场景相关命令

Git典型使用场景相关命令

  • 1 建立本地仓库与远程仓库的联系
  • 2 作为开发者参与项目的常用命令
    • 2-1 一般步骤
    • 2-2 **合并与同步主分支改动**
    • 2-3 **查看日志和差异**
    • 2-4 **提交后想修改或撤销**
    • 2-5 分支管理
    • 2-6 清除未被追踪的文件(谨慎使用)
  • 3 作为远程仓库管理者如何管理
    • 3-1 开发者提交代码后,管理者的常规处理流程
    • 3-2 管理者的日常维护职责
    • 3-3 管理者应关注的最佳实践
    • 3-4 补充
  • 4 作为普通贡献者如何参与项目
    • 4-1 Fork 并 Clone 项目
    • 4-2 创建分支,开发功能
    • 4-3 推送分支并发起 Pull Request
    • 4-4 等待审核与合并
    • 4-5 PR 被合并后,清理本地和远程分支
    • 4-6 小结

1 建立本地仓库与远程仓库的联系

  • step1:初始化本地仓库。这将在当前目录创建一个 .git 文件夹,使该目录成为 Git 的本地仓库。
git init
  • step2:添加远程仓库地址(设置“远程仓库”)
git remote add origin https://github.com/yourname/yourrepo.git

origin:是远程仓库的默认名称(你也可以改为别的名字,但推荐保留 origin)。
https://...git:是远程仓库的克隆地址(可以是 HTTPS 或 SSH)。

可以通过以下命令查看远程仓库是否添加成功:

git remote -v
  • step3:将本地代码提交并推送到远程仓库(首次)
  1. 添加文件并提交到本地仓库:
git add .
git commit -m "Initial commit"
  1. 推送到远程仓库并建立关联(首次推送时需要):
git push -u origin master
或者 git push -u origin main

-u 参数的作用:建立本地分支与远程分支的追踪关系。以后可以直接用 git pushgit pull,不用再每次都加远程名和分支名。

  • step4:之后每次更新,只需:
git add .
git commit -m "your message"
git push

如果是先在 GitHub 上建的仓库,再克隆下来:

git clone https://github.com/yourname/yourrepo.git

此时远程地址已经自动关联好了

2 作为开发者参与项目的常用命令

2-1 一般步骤

  • step1首次配置(只需配置一次)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
  • step2克隆项目(从远程获取代码)
git clone https://github.com/yourname/yourproject.git
cd yourproject
  • step3开发过程中的常用操作
  1. 查看当前状态
git status
  1. 拉取最新远程改动(建议先同步再修改)
git pull
  1. 新建并切换到新分支开发
git checkout -b feature/your-feature-name
  1. 添加修改的文件(所有修改)
git add .

或只添加指定文件:

git add file.txt
  1. 提交修改
git commit -m "描述清晰的提交信息"
  1. 推送分支到远程
git push origin feature/your-feature-name

2-2 合并与同步主分支改动

  1. 切换到主分支
git checkout main  # 或 master
  1. 拉取主分支最新代码
git pull
  1. 切换回功能分支并合并主分支
git checkout feature/your-feature-name
git merge main

2-3 查看日志和差异

  • 查看提交历史
git log --oneline --graph --all
  • 查看某个文件的修改差异
git diff file.txt

2-4 提交后想修改或撤销

  • 修改上一次提交信息(未 push)
git commit --amend
  • 撤销某次提交(保留修改)
git reset --soft HEAD~1

2-5 分支管理

  • 查看所有分支
git branch -a
  • 删除本地分支
git branch -d feature/xxx
  • 删除远程分支
git push origin --delete feature/xxx

2-6 清除未被追踪的文件(谨慎使用)

git clean -fd

3 作为远程仓库管理者如何管理

3-1 开发者提交代码后,管理者的常规处理流程

开发者提交方式

  • 推送分支到远程(如 feature/login
  • 或发起 Pull Request / Merge Request(如 GitHub、GitLab)

管理者的处理流程

  1. 获取开发者提交的代码
git fetch origin
# 从远程仓库 `origin` 获取最新的分支和提交记录,但不会自动合并到当前分支。
# `origin`:是远程仓库的默认名称。
# 这个命令会同步远程仓库的更新到本地的 `.git` 数据库中,比如远程的新分支、提交记录等。
# 不会改变当前工作目录里的任何文件或分支状态。
# 相当于“悄悄地更新了远程仓库信息”,不动你的代码。git checkout feature/login
# 切换到名为 `feature/login` 的本地分支。
# 如果这个分支是远程新创建的、本地还没有,那么需要加上 `-t`(跟踪远程分支):
# git checkout -t origin/feature/login 或 git switch -c feature/login origin/feature/login

上述命令的含义:

  1. 从远程拉取所有更新信息;
  2. 切换到一个你想要查看或工作的分支(比如某个开发者提交的 feature/login 分支);

如果本地没有该分支,推荐完整做法:

git fetch origin
git checkout -b feature/login origin/feature/login# `-b feature/login`:创建本地分支;
# `origin/feature/login`:指定跟踪哪个远程分支。
  1. 代码审查
  • 使用 GitHub/GitLab/Gitea/Bitbucket 的 Web 界面查看修改、讨论、留言。
  • 可以用如下命令本地查看差异:
git diff main...feature/login
  1. 测试/验证
  • 管理者会在本地或 CI/CD 环境中 运行测试
  • 检查是否有语法错误、逻辑问题、性能下降等。
  1. 合并代码
    合并分支回主分支(如 main)有几种方式:
合并方式命令 / 操作特点
普通合并(推荐)git merge feature/login保留历史,产生合并 commit
重写历史合并git rebase feature/login整理提交历史,可能引发冲突
GitHub 操作点击 “Merge pull request”自动合并,支持 squash/rebase

3-2 管理者的日常维护职责

任务命令 / 工具说明
删除合并完成的远程分支git push origin --delete xxx清理无用分支
查看提交日志git log --oneline --graph检查分支和合并历史
强制标准命名和保护策略GitHub 分支保护设置防止直接向 main 推送
回滚误提交git revert / git reset根据情况决定是否保留历史
添加 tag / 发布版本git tag v1.0.0 && git push --tags版本管理
配置 CI/CD 检查每次 PRGitHub Actions / GitLab CI 等自动测试、构建、部署

3-3 管理者应关注的最佳实践

  • 分支命名规范化(如:feature/, bugfix/, release/
  • 强制 code review 和 CI 通过后再合并
  • 禁止直接 push 到 main
  • 定期清理 stale 分支
  • 发布版本前打 tag
  • 用 squash 合并清理历史

3-4 补充

当有 Pull Request 时,管理员可以:

  • Merge:保留所有 commit
  • Squash and merge:将所有 commit 合并为一个(常用于整理历史)
  • Rebase and merge:将每个提交 replay 到主分支后面(清洁但可能有冲突)

4 作为普通贡献者如何参与项目

4-1 Fork 并 Clone 项目

  1. 点击 GitHub 项目页面的 Fork 按钮

这会把主项目复制一份到你的 GitHub 账户,例如:

  • 原仓库:https://github.com/openai/project.git
  • 你的 Fork:https://github.com/yourname/project.git
  1. Clone 你的 Fork 到本地
git clone https://github.com/owner/project.git
cd project
  1. 添加主项目作为远程源(方便同步主仓库更新)
git remote add upstream https://github.com/openai/project.git

检查远程列表:

git remote -v
# origin    https://github.com/yourname/project.git
# upstream  https://github.com/openai/project.git

4-2 创建分支,开发功能

  1. 同步主项目更新(可选)
git checkout main
git fetch upstream
git merge upstream/main

或直接重设为一致:

git reset --hard upstream/main
  1. 创建新功能分支(不要在 main 上开发)
git checkout -b feature/your-task-name
  1. 开发 & 提交
git add .
git commit -m "Add XXX feature"

可以多次 commit,保持粒度清晰。

4-3 推送分支并发起 Pull Request

  1. 推送分支到你自己的远程仓库(origin)
git push -u origin feature/your-task-name
  1. 在 GitHub 网页上,点击 “Compare & pull request” 按钮

填写描述 → 选择目标是主项目的 main 分支 → 提交 PR

4-4 等待审核与合并

  • 保持关注 PR 状态,维护者可能会提出修改建议
  • 可以在本地继续修改再 git push 到同一分支,PR 会自动更新

4-5 PR 被合并后,清理本地和远程分支

git checkout main
git pull upstream maingit branch -d feature/your-task-name
git push origin --delete feature/your-task-name

4-6 小结

fork 主仓库↓
clone 自己的 fork↓
添加主仓库为 upstream(可选)↓
新建 feature 分支 → 修改 → commit↓
push 到 origin(你的仓库)↓
发起 PR 到主项目的 main 分支↓
等待审核 → 被合并↓
删除旧分支,准备下一个任务

常用命令参考

操作命令
添加主项目为 upstreamgit remote add upstream <主项目地址>
同步主项目代码git fetch upstream && git merge
新建分支git checkout -b feature/xxx
提交修改git add . && git commit -m "message"
推送分支git push -u origin feature/xxx
删除远程分支git push origin --delete feature/xxx

相关文章:

  • react diff 算法
  • 基于Qt的MCP LLM代理服务开发实战:从0到1扩展大语言模型
  • React从基础入门到高级实战:React 生态与工具 - 探索 React 生态中的工具和库:提升开发效率与项目质量
  • 前端面经 React 组件常见的声明方式
  • 征程 6X VDSP 调试方法
  • macOS 风格番茄计时器:设计与实现详解
  • 4.8.1 利用Spark SQL实现词频统计
  • mp中的密码处理
  • 设计模式-依赖倒转原则
  • 【Bluedriod】蓝牙协议栈 btm_init 源码解析
  • 【生产实践】Kibana控制台暴露风险:Nginx反向代理+权限控制实战方案(附避坑指南)
  • 一种经济实用的尖峰电压防护-PCB放电齿
  • GC1267F单相全波风扇电机预驱动器芯片详解
  • 【ArcGIS Pro微课1000例】0071:将无人机照片生成航线、轨迹点、坐标高程、方位角
  • Spring Boot 启动流程深度解析:从源码到实践
  • 高温炉制造企业Odoo ERP实施规划与深度分析报告
  • 免杀二 内存函数与加密
  • 影响沉金价格的因素如何体现在多层电路板制造上?
  • 智警杯备赛--数据库管理与优化
  • 基于stm32风速风向温湿度和瓦斯检测(仿真+代码)
  • 重庆论坛网站建设/关键词搜索指数查询工具
  • 做淘宝设计能做网站吗/江苏百度推广代理商
  • 新疆住房城乡建设厅网站/优化推广网站推荐
  • 摄影网站制作教程/怎样做好服务营销
  • 满山红网站建设公司/火蝠电商代运营公司
  • 网络营销与直播电商是做什么的/长春seo网站排名