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 [文件名] # 将文件从暂存区撤回工作区

相关推荐
kobe_OKOK_13 分钟前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记15 分钟前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码10 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码10 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)10 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang10 小时前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git
荻野泽溪10 天前
Git新建分支并同步到远程
git
漫步企鹅10 天前
【Git】新建一个远程分支的常规操作
git·新建远程分支
潇-xiao10 天前
Linux下的版本控制器Git(15)
linux·笔记·git