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 视图,直观易用

相关推荐
Achou.Wang40 分钟前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
事变天下4 小时前
迈瑞的足球之夏:从一次救援到全球守护
大数据·科技
gwf2164 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
中微极客4 小时前
多智能体编排实战:CrewAI vs AutoGen(2026版)
大数据·网络·人工智能
西邮彭于晏5 小时前
图文详解:Git分支创建、合并与冲突解决|新手零门槛完整教程
大数据·git·elasticsearch
SQDN6 小时前
Codex CLI 报 wire_api=“chat“ 不再支持?改为 Responses 并验证 /v1/responses
openai·开发工具·codex·responses api·config.toml
IanSkunk6 小时前
企业AI办公落地技术拆解:从WorkBuddy任务引擎到JOTO实施路径
大数据·人工智能
上海心泾国际物流有限公司6 小时前
2024-2026年进出口报关政策五大变化
大数据·经验分享·交通物流
Xvisio诠视科技7 小时前
从“感知”到“理解”:空间计算如何成为具身智能世界模型的“数据底座”?
大数据·空间计算
jerryinwuhan7 小时前
数据预处理技术 2026-2027-1 开篇-课程介绍
大数据·python