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

Git 常用命令与示例展示 - 苦瓜大王

Git 常用命令与示例展示

本文可分为(Git常用名令 | Git如何与Gitee结合使用)两部分,阅读互不影响,但先了解常用命令,可以便于理解下方操作 OvO !


一、Git 暂存区概念

暂存区(Staging Area)是 Git 特有的概念,它是工作区和本地仓库之间的一个临时存储区域。可以把它理解为一个 "待提交缓冲区":

  • 工作区的修改不会直接提交到仓库,而是先添加到暂存区
  • 暂存区可以精确控制哪些修改需要被提交
  • 可以通过 git status 查看暂存区状态
  • 暂存区的内容会在执行 git commit 时被提交到本地仓库

二、常用命令与操作示例

1. 初始化仓库与配置

# 初始化新仓库
git init# 配置用户信息(全局生效)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"# 查看配置信息
git config --list

2. 工作区与暂存区操作

# 创建新文件并查看状态
echo "Hello Git" > readme.txt
git status  # 显示 readme.txt 为 untracked(未跟踪)# 将文件添加到暂存区
git add readme.txt
git status  # 现在显示 readme.txt 为 staged(已暂存)# 修改已暂存的文件
echo "Add new line" >> readme.txt
git status  # 会显示两种状态:已暂存的修改和未暂存的修改# 将所有修改添加到暂存区
git add .  # 添加当前目录所有文件
# 或
git add --all  # 添加所有变化,包括删除的文件# 从暂存区移除文件(但保留工作区文件)
git rm --cached readme.txt# 撤销工作区修改(恢复到暂存区状态)
git restore readme.txt# 查看工作区与暂存区的差异
git diff# 查看暂存区与本地仓库的差异
git diff --cached

3. 提交操作

# 提交暂存区内容到本地仓库
git commit -m "Initial commit: add readme.txt"# 直接提交所有已跟踪文件的修改(跳过暂存区)
git commit -a -m "Update readme.txt"# 修改最近一次提交(如补充信息)
git commit --amend -m "Fix: update readme with more details"

4. 分支操作

# 查看所有分支
git branch -a# 创建新分支并切换
git checkout -b feature/login
# 或(Git 2.23+)
git switch -c feature/login# 切换回主分支
git checkout main
# 或
git switch main# 合并分支
git merge feature/login# 强制删除未合并的分支
git branch -D feature/old

5. 查看历史

# 查看提交历史
git log# 精简格式显示
git log --oneline# 显示最近3次提交
git log -n 3# 图形化显示分支历史
git log --graph --oneline --all# 查看所有操作记录(包括已删除的提交)
git reflog

6. 远程仓库操作

# 克隆远程仓库
git clone https://github.com/example/repo.git# 添加远程仓库
git remote add origin https://github.com/example/repo.git# 查看远程仓库信息
git remote -v# 拉取远程更新并合并
git pull origin main# 推送本地分支到远程
git push -u origin main  # -u 建立关联,后续可直接 git push# 推送标签到远程
git tag v1.0.0
git push origin v1.0.0

7. 撤销与回退

# 暂存当前工作区修改
git stash save "Work in progress"# 查看所有暂存
git stash list# 应用最近的暂存并保留
git stash apply# 应用最近的暂存并删除
git stash pop# 软重置(保留工作区和暂存区)
git reset --soft HEAD~1  # 回退到上一次提交# 硬重置(彻底丢弃所有修改,谨慎使用)
git reset --hard HEAD~1# 创建新提交来撤销指定提交
git revert 2a1b3c4d  # 2a1b3c4d 是要撤销的提交哈希

三、Git 工作流程图示

工作区(Working Directory)↓ git add
暂存区(Staging Area)↓ git commit
本地仓库(Local Repository)↓ git push
远程仓库(Remote Repository)

Git的核心作用 与 如何搭配 Gitee(码云) 使用

Git 作为分布式版本控制系统,主要解决以下核心问题:

  1. 追踪代码变更
    记录文件每一次修改的内容、作者、时间,可随时查看历史变更记录,精准定位问题。
  2. 多版本管理
    保存代码的多个历史版本,支持随时回滚到任意历史状态,避免代码丢失或误操作。
  3. 协同开发
    允许多人同时开发同一项目,通过分支机制隔离不同功能的开发,最终通过合并操作整合代码。
  4. 工作区管理
    通过工作区、暂存区、本地仓库的分层设计,精确控制每次提交的内容,避免无效提交。
  5. 离线工作
    分布式特性支持本地完整仓库,无需联网即可完成大部分版本控制操作。

二、Gitee 搭配 Git 的使用流程(结合命令)

Gitee(码云)是国内的代码托管平台,兼容 Git 所有功能,使用流程如下:

1. 准备工作

  • 注册 Gitee 账号并创建仓库
    登录 Gitee → 点击右上角「+」→ 「新建仓库」→ 填写仓库名称、选择是否公开 → 点击「创建」

  • 本地安装 Git 并配置

    # 配置用户信息(需与 Gitee 账号一致)
    git config --global user.name "你的 Gitee 用户名"
    git config --global user.email "你的 Gitee 绑定邮箱"
    

2. 场景一:从本地项目关联到 Gitee 远程仓库

# 1. 进入本地项目目录
cd /path/to/your/project# 2. 初始化本地仓库
git init# 3. 添加所有文件到暂存区
git add .# 4. 提交到本地仓库
git commit -m "初始化项目"# 5. 关联 Gitee 远程仓库(仓库地址在 Gitee 仓库页面获取)
git remote add origin https://gitee.com/你的用户名/仓库名.git# 6. 推送本地代码到远程仓库(首次推送需指定分支)
git push -u origin master  # master 为默认分支,部分仓库默认是 main

3. 场景二:从 Gitee 克隆仓库到本地开发

# 1. 克隆远程仓库到本地
git clone https://gitee.com/你的用户名/仓库名.git# 2. 进入克隆的项目目录
cd 仓库名# 3. 创建新分支开发功能(避免直接修改主分支)
git checkout -b feature/user-login  # 创建并切换到功能分支# 4. 编写代码后,查看修改
git status# 5. 添加修改到暂存区
git add 文件名  # 或 git add . 添加所有修改# 6. 提交到本地仓库
git commit -m "完成用户登录功能"# 7. 推送功能分支到远程(方便团队协作)
git push -u origin feature/user-login

4. 团队协作流程

# 1. 拉取远程最新代码(避免冲突)
git pull origin master# 2. 切换到自己的开发分支
git switch feature/your-feature# 3. 开发完成后,合并主分支到自己的分支(解决冲突)
git merge master# 4. 推送分支到远程,在 Gitee 页面发起 Pull Request(PR)
git push origin feature/your-feature# 5. PR 审核通过后,在 Gitee 上合并到主分支
# 6. 本地同步主分支最新代码
git switch master
git pull origin master

5. 常用操作补充

  • 版本回退

    # 查看提交历史
    git log --oneline# 回退到指定版本(软回退,保留工作区)
    git reset --soft 提交ID# 强制推送回退后的版本(谨慎使用,多人协作时需通知团队)
    git push -f origin master
    
  • 分支管理

    # 查看所有分支(包括远程)
    git branch -a# 删除本地分支
    git branch -d feature/old-feature# 删除远程分支
    git push origin --delete feature/old-feature
    
  • 解决冲突
    git merge 出现冲突时:

    1. 打开冲突文件,寻找 <<<<<<< HEAD 标记的冲突区域
    2. 编辑文件保留正确代码,删除冲突标记
    3. 提交解决后的代码:git add . && git commit -m "解决合并冲突"

三、Git + Gitee 优势总结

  1. 本地与远程结合:本地完成大部分版本控制,通过 Gitee 实现代码备份和团队共享
  2. 国内访问优势:Gitee 服务器在国内,相比 GitHub 速度更快,适合国内团队
  3. 功能完整性:支持分支管理、PR 审核、Issue 跟踪等完整协作功能
  4. 安全性:可创建私有仓库,保护商业项目代码

苦瓜不苦 ( O_O )

http://www.sczhlp.com/news/8614/

相关文章:

  • [Cursor] Modes
  • day10_网络
  • 重链剖分 - AC
  • 8 面向对象编程
  • 分支结构
  • Java中的输入输出
  • Websocket
  • 8.9随笔
  • AtCoder Beginner Contest 418
  • 【做题记录】dp(马思博)
  • OI集训 Day24
  • MX-2025 盖世计划 C 班 Day 7 复盘
  • 二、web端UI自动化测试--元素定位
  • 20250809
  • 这只是一个对未来的计划
  • 【Spring】Bean的作用域(单例、多例、请求、会话、Application) - 实践
  • 8月9日
  • 2025.8.9打卡
  • vmware fusion打不开dev vmmon断裂管道
  • 浅谈Dubbo的实现原理--学习中
  • 一种低成本百度网盘不限速下载的方案
  • 第三章:scanf()的用法
  • 8/9
  • 合规部署大语言模型:AI编排与可解释性
  • Java基础语法
  • P13680 未送出的花 [树上背包]
  • yt-dlp 在win7中执行命令的解决方法
  • 题解:[NOIP2021] 方差
  • 2025.8.9总结 - A
  • ZROJ 3272. 地皮