git使用详解和实战示例

Git 基础概念

名称 说明
工作区(Working Directory) 你正在本地操作的代码目录
暂存区(Staging Area / Index) 使用 git add 后进入的区域,等待提交
本地仓库(Local Repository) 使用 git commit 后的本地版本历史
远程仓库(Remote Repository) 如 GitHub、GitLab 上的远程版本库

Git 常用命令详解与示例


初始化本地仓库

bash 复制代码
git init

在当前目录下创建 .git 文件夹,初始化为 Git 仓库。


克隆远程仓库

bash 复制代码
git clone https://github.com/user/repo.git

下载一个已有的仓库副本到本地。


查看当前状态

bash 复制代码
git status

显示哪些文件被修改、哪些在暂存区。


添加文件到暂存区

bash 复制代码
git add filename
git add .  # 添加所有文件

提交修改

bash 复制代码
git commit -m "描述信息"

查看提交历史

bash 复制代码
git log

简洁日志

bash 复制代码
git log --oneline --graph --all

查看修改内容

bash 复制代码
git diff                 # 查看工作区 vs 暂存区
git diff --cached        # 查看暂存区 vs 上次提交

撤销操作

操作 命令
撤销 git add git reset HEAD filename
撤销修改但保留文件 git checkout -- filename
重置最近一次提交(不丢文件) git reset --soft HEAD~1
丢弃最近一次提交和修改 git reset --hard HEAD~1

分支操作

bash 复制代码
git branch               # 查看分支
git branch dev           # 创建分支
git checkout dev         # 切换分支
git checkout -b dev      # 创建并切换分支

合并分支

bash 复制代码
git checkout main
git merge dev

远程仓库操作

查看远程

bash 复制代码
git remote -v

添加远程仓库

bash 复制代码
git remote add origin https://github.com/user/repo.git

推送代码

bash 复制代码
git push origin main  # 将 main 分支推送到远程

首次推送可能需要加 -u 设置默认远程:

bash 复制代码
git push -u origin main

拉取远程更新

bash 复制代码
git pull origin main

等价于:

bash 复制代码
git fetch origin
git merge origin/main

忽略文件

编辑 .gitignore 文件:

复制代码
*.log
build/
*.tmp

标签管理

bash 复制代码
git tag v1.0                   # 打标签
git tag                        # 查看标签
git push origin v1.0           # 推送标签

常见工作流示例


示例 1:新建并提交一个项目

bash 复制代码
mkdir my_project && cd my_project
git init
echo "# My Project" > README.md
git add README.md
git commit -m "init: first commit"
git remote add origin https://github.com/user/my_project.git
git push -u origin main

示例 2:创建新分支进行开发

bash 复制代码
git checkout -b feature/login
# 修改代码
git add .
git commit -m "feat: implement login logic"
git checkout main
git merge feature/login
git push

示例 3:解决冲突

bash 复制代码
git pull origin main
# 冲突文件显示 <<<<<<< HEAD 等标记
# 手动编辑解决后:
git add conflicted_file.cpp
git commit -m "fix: resolve merge conflict"

示例 4:多人协作(远程分支)

bash 复制代码
git fetch origin
git checkout -b dev origin/dev
# 修改后提交
git push origin dev

补充技巧

功能 命令
查看某一行的提交记录 git blame filename
设置用户名和邮箱 git config --global user.name "xxx"
保存临时修改 git stash, git stash pop
删除分支 git branch -d dev
删除远程分支 git push origin --delete dev

图形化工具推荐

  • GitKraken:强大的跨平台 Git GUI
  • GitHub Desktop:适合初学者,界面简洁
  • TortoiseGit:Windows 系统集成 Git 工具
  • VS Code Git 插件:集成 Git 视图,直观易用

相关推荐
拓端研究室28 分钟前
2026年医疗趋势报告:医保改革、创新药、国产替代|附230+份报告PDF、数据、可视化模板汇总下载
大数据·人工智能
D愿你归来仍是少年1 小时前
Apache Spark 第 9 章:Spark 性能调优
大数据·spark·apache
ywf12151 小时前
FlinkCDC实战:将 MySQL 数据同步至 ES
android·mysql·elasticsearch
kuankeTech1 小时前
从“人肉跑退税”到“一键自动退”:外贸ERP助力企业数字化突围
大数据·人工智能·经验分享·软件开发·erp
FindAI发现力量1 小时前
高效客户开发:摆脱低效推销,低成本稳定获客
大数据·人工智能·销售管理·ai销售·ai销冠·销售智能体
console.log('npc')1 小时前
团队协作提交自己的功能
git
DX_水位流量监测1 小时前
德希科技在线色度传感器
大数据·网络·人工智能·水质监测·水质传感器·水质厂家·农村供水水质监测方案
snpgroupcn1 小时前
SAP 企业管理软件全解析:ERP 云技术架构与商业 AI 落地实践
大数据·人工智能
Elastic 中国社区官方博客1 小时前
Elasticsearch:如何在 workflow 里调用一个 agent
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
房产中介行业研习社2 小时前
2026年3月房产中介房源管理系统使用体验评测
大数据·人工智能