Git的使用

一、Git 基础概念

  1. 版本控制工具
    • 用于跟踪文件变化,管理团队协作开发,支持分布式版本控制(每个开发者本地有完整代码库)。
  2. 核心组件
    • 工作区:本地磁盘中实际存储文件的目录。
    • 暂存区(Index/Stage):临时存放待提交的修改。
    • 本地仓库 :存储所有版本历史数据(位于 .git 目录)。
    • 远程仓库:托管代码的服务器(如 GitHub、Gitee)。

二、环境搭建与初始化

1. 安装与配置
  • 安装 Git

    • 官网下载对应系统安装包:Git 官网
  • 配置用户信息 (必须,用于标识提交者)

    复制代码
    git config --global user.name "你的用户名"  # 设置全局用户名
    git config --global user.email "你的邮箱"    # 设置全局邮箱
2. 初始化仓库
  • 创建本地仓库

    复制代码
    git init          # 在当前目录初始化空仓库(生成 `.git` 隐藏目录)
  • 克隆远程仓库到本地

    复制代码
    git clone <远程仓库URL>  # 例:git clone https://github.com/user/repo.git

三、基本操作流程

1. 文件状态管理
  • 查看状态

    复制代码
    git status        # 查看文件变更状态(红色:未暂存;绿色:已暂存)
  • 添加文件到暂存区

    复制代码
    git add <文件名>  # 添加单个文件(例:git add README.md)
    git add .         # 添加当前目录所有变更文件
  • 撤销暂存区修改

    复制代码
    git reset HEAD <文件名>  # 撤销指定文件的暂存(回到工作区修改状态)
2. 提交变更到本地仓库
复制代码
git commit -m "提交说明"  # 将暂存区内容提交到本地仓库(-m 后接描述信息)
3. 管理远程仓库
  • 关联远程仓库

    复制代码
    git remote add origin <远程仓库URL>  # 关联远程仓库(origin 为默认别名)
  • 拉取远程更新

    复制代码
    git pull origin main  # 拉取远程 main 分支的最新代码并合并到本地
  • 推送本地代码到远程

    复制代码
    git push origin main  # 将本地 main 分支推送到远程仓库(首次需加 `-u` 关联分支)

四、分支管理

1. 分支基本操作
  • 查看分支

    复制代码
    git branch        # 查看本地分支(当前分支前有 * 标识)
    git branch -a     # 查看所有分支(包括远程分支)
  • 创建分支

    复制代码
    git branch <分支名>  # 创建新分支(例:git branch feature/new-login)
  • 切换分支

    复制代码
    git checkout <分支名>  # 切换到指定分支(Git 2.23+ 推荐使用 git switch)
    git switch <分支名>    # 新语法:切换分支或创建并切换
  • 创建并切换分支

    复制代码
    git checkout -b <新分支名>  # 等价于 git branch + git checkout
    git switch -c <新分支名>    # 新语法:等价于上述命令
2. 合并分支
  • 合并指定分支到当前分支

    复制代码
    git merge <待合并分支名>  # 例:在 main 分支执行 git merge feature/new-login
  • 解决冲突
    合并时若文件冲突,需手动修改冲突文件(标记为 <<<<<<< ======= >>>>>>>),修改后重新 git addgit commit

3. 删除分支
复制代码
git branch -d <分支名>  # 删除本地分支(需先切换到其他分支)
git branch -D <分支名>  # 强制删除未合并的分支
git push origin --delete <分支名>  # 删除远程分支(例:git push origin --delete feature/new-login)

五、历史版本管理

1. 查看提交历史
复制代码
git log         # 查看详细提交记录(含哈希值、作者、日期、提交说明)
git log --oneline  # 简洁模式,每行显示一个提交
git reflog      # 查看所有分支的操作记录(含回退记录)
2. 回退版本
  • 回退到指定版本

    复制代码
    git reset --hard <commit哈希值>  # 硬回退(丢弃工作区和暂存区修改)
    git reset --soft <commit哈希值>   # 软回退(仅回退本地仓库,保留工作区和暂存区)
  • 回退到上一个版本

    复制代码
    git reset --hard HEAD^    # HEAD^ 表示上一个版本,HEAD~3 表示前3个版本

六、其他常用操作

1. 忽略文件
  • 在项目根目录创建 .gitignore 文件,写入需忽略的文件 / 目录规则:

    复制代码
    *.log         # 忽略所有 .log 文件
    node_modules/ # 忽略 node_modules 目录
2. 标签管理(用于版本发布)
复制代码
git tag v1.0    # 创建轻量级标签 v1.0
git tag -a v1.0 -m "版本说明"  # 创建带说明的附注标签
git push origin v1.0  # 推送标签到远程仓库
3. 解决冲突
  • 拉取或合并代码时若遇冲突,手动修改冲突文件,标记冲突的部分会显示为:

    复制代码
    <<<<<<< HEAD       # 本地版本内容
    本地代码...
    =======
    远程版本内容...
    >>>>>>> origin/main  # 远程版本内容
  • 修改后保存,执行 git add <文件名> 标记冲突已解决,再提交。

七、团队协作流程示例

  1. 克隆远程仓库

    复制代码
    git clone https://github.com/team/project.git
  2. 创建功能分支

    复制代码
    git switch -c feature/new-function
  3. 开发并提交本地变更

    复制代码
    git add .
    git commit -m "实现新功能"
  4. 拉取最新代码并解决冲突

    复制代码
    git pull origin main
  5. 推送分支到远程并创建 PR(Pull Request)

    复制代码
    git push -u origin feature/new-function
  6. 代码 review 后合并到 main 分支
    在远程仓库页面操作合并,或本地执行 git merge main 后推送到远程。

八、常用快捷键与技巧

  • git config --global core.editor "code --wait":设置默认编辑器为 VS Code。
  • git stash:临时保存未提交的修改(用于切换分支前保存现场)。
  • git stash apply:恢复最近一次的 stash 记录。
  • git diff:查看未暂存的文件修改差异。
  • git remote -v:查看远程仓库地址及权限。

通过以上操作,可覆盖 Git 的日常使用场景。建议结合实际项目练习,并深入理解分支模型(如 Git Flow)以提升团队协作效率。Git 是一款强大的分布式版本控制系统,常用于软件开发中的代码管理。下面为你总结 Git 的核心操作和使用流程:

一、Git 基本配置

安装 Git 后,需进行用户信息配置:

复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

二、仓库操作

  1. 创建本地仓库

    git init # 在当前目录初始化新仓库

  2. 克隆远程仓库

    git clone [远程仓库URL] # 克隆完整项目到本地

三、文件操作

  1. 查看文件状态

    git status # 查看文件修改状态

  2. 添加文件到暂存区

    git add [文件名] # 添加单个文件
    git add . # 添加所有文件

  3. 提交到本地仓库

    git commit -m "提交说明" # 提交暂存区文件到本地仓库

四、分支管理

  1. 查看分支

    git branch # 查看本地分支
    git branch -a # 查看所有分支(包括远程)

  2. 创建分支

    git branch [分支名] # 创建新分支

  3. 切换分支

    git checkout [分支名] # 切换到已存在的分支
    git checkout -b [分支名] # 创建并切换到新分支

  4. 合并分支

    git merge [源分支] # 将源分支合并到当前分支

  5. 删除分支

    git branch -d [分支名] # 删除已合并的分支
    git branch -D [分支名] # 强制删除未合并的分支

五、远程仓库操作

  1. 添加远程仓库

    git remote add origin [远程仓库URL] # 添加远程仓库并命名为origin

  2. 推送代码到远程仓库

    git push -u origin [分支名] # 首次推送并关联远程分支
    git push # 后续推送

  3. 拉取远程代码

    git pull origin [分支名] # 拉取并合并远程分支

六、版本回退

  1. 查看提交历史

    git log # 查看提交历史
    git log --oneline # 简洁模式查看

  2. 回退到指定版本

    git reset --hard [commit ID] # 彻底回退到指定提交
    git reset --soft [commit ID] # 保留修改,回退提交

七、解决冲突

当合并分支或拉取代码发生冲突时:

  1. 手动编辑冲突文件,解决矛盾

  2. 添加修改后的文件

    git add [冲突文件名]

  3. 提交解决后的文件

    git commit -m "解决冲突"

八、标签管理

  1. 创建标签

    git tag [标签名] # 创建轻量标签
    git tag -a [标签名] -m "标签说明" # 创建带注释的标签

  2. 查看标签

    git tag # 查看所有标签

  3. 推送标签到远程

    git push origin [标签名] # 推送单个标签
    git push origin --tags # 推送所有标签

九、忽略文件

创建.gitignore文件,指定要忽略的文件或目录:

复制代码
# 示例 .gitignore 文件
*.log        # 忽略所有 .log 文件
node_modules  # 忽略 node_modules 目录
dist/        # 忽略 dist 目录

十、撤销操作

  1. 撤销工作区修改

    git checkout -- [文件名] # 丢弃工作区修改

  2. 撤销暂存区修改

    git reset HEAD [文件名] # 将文件从暂存区撤回工作区

相关推荐
黎相思2 小时前
Git企业级项目管理实战
git·gitee
多一点灵性2 小时前
Git 命令
git
漫谈网络8 小时前
Git深入解析功能逻辑与核心业务场景流程
大数据·git
数据智能老司机8 小时前
理解 Argo CD
git·kubernetes·自动化运维
炒毛豆9 小时前
git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)
git·gitlab
qx0912 小时前
git常用操作
git
等什么君!1 天前
git下载和安装(完整版)
git
小白写代码hh1 天前
Git入门到精通:30分钟掌握核心技巧
git·学习
CLO_se_1 天前
git的使用
git
F_D_Z1 天前
当前用户的Git全局配置情况:git config --global --list
git