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

相关推荐
黎阳之光1 小时前
视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控
大数据·人工智能·物联网·算法·数字孪生
iiiiyu1 小时前
集合进阶(Map集合)
java·大数据·开发语言·数据结构·编程语言
C137的本贾尼1 小时前
Git基本操作(四):删除文件
git
塔能物联运维1 小时前
存量机房降本增效:两相液冷技术解锁全生命周期成本优化密码
大数据·人工智能
黎阳之光2 小时前
黎阳之光:视频孪生智慧厂网一体化解决方案|污水处理全场景智能化升级
大数据·人工智能·物联网·安全·数字孪生
C137的本贾尼2 小时前
撤销修改:三种场景下的“反悔”操作
git
DS小龙哥2 小时前
基于ESP32+非接触式微波雷达设计的睡眠监控系统
大数据·人工智能
C116112 小时前
antdesign使用git命令clone仓库后,找不到CLAUDE.md 文件什么原因
git
程序员Terry3 小时前
博客系统全文搜索实战:用 Elasticsearch 告别 MySQL LIKE 查询
后端·elasticsearch
一切皆是因缘际会3 小时前
依托记忆结构心智体系,AI 自主意识进化路径
大数据·人工智能·安全·搜索引擎·ai