git使用简述

1、工作区、暂存区、版本库

Git 是一个开源的分布式版本控制系统,它允许多个开发者同时在同一个项目上工作,而不会互相干扰。Git 通过三个主要的区域来管理文件的变更:工作区(Working Directory)、暂存区(Staging Area)和版本库(Repository)。

  1. 工作区(Working Directory) 工作区是文件存放的地方,也就是你的项目目录。当你在编辑器中修改文件或添加新文件时,这些文件就存在于工作区中。工作区中的文件可以是未被跟踪的(untracked),也可以是已修改的(modified)。

  2. 暂存区(Staging Area) 暂存区是一个准备下一次提交的文件列表。当你使用 git add 命令时,你实际上是将工作区中的文件变更添加到暂存区。暂存区是一个索引,它记录了下一次提交将要包含哪些文件的变更。

  3. 版本库(Repository) 版本库,也被称为.git目录,是Git用来保存项目历史记录的地方。当你执行 git commit 命令时,暂存区的文件变更会被永久保存到版本库中。版本库中保存了项目的完整历史,包括所有的提交、分支和标签。

2、常用的 Git 操作命令:

  1. 初始化仓库

    git init

    在项目目录中创建一个新的 Git 仓库。

  2. 克隆远程仓库

    git clone <repository_url>

    从远程仓库克隆整个项目到本地。

  3. 添加文件到暂存区

    git add <file_or_files>

    将更改的文件添加到暂存区,准备下一次提交。

  4. 提交更改到本地仓库

    git commit -m "Commit message"

    将暂存区的更改提交到本地仓库,并附上提交信息。

  5. 查看当前状态

    git status

    查看当前仓库的状态,包括哪些文件被修改、哪些文件在暂存区等。

  6. 查看提交历史

    git log

    查看项目的提交历史。

  7. 查看文件差异

    git diff

    查看工作目录中当前文件和暂存区或最后一次提交之间的差异。

  8. 查看远程仓库

    git remote -v

    查看远程仓库的详细信息。

  9. 拉取远程分支的更改

    git pull <remote_name> <branch_name>

    从远程仓库拉取指定分支的更改并合并到当前分支。

  10. 推送本地更改到远程仓库

    git push <remote_name> <branch_name>

    将当前分支的更改推送到远程仓库。

  11. 创建新分支

    git branch <branch_name>

    创建一个新的分支。

  12. 切换分支

    git checkout <branch_name>

    切换到指定的分支。

  13. 删除分支

    git branch -d <branch_name>

    删除本地分支。

  14. 查看分支图

    git branch -vv

    以图形方式显示本地分支和远程分支的状态。

  15. 查看远程分支的提交

    git fetch

    从远程仓库获取所有分支的最新状态,但不自动合并到当前分支。

  16. 合并分支

    git merge <branch_name>

    将指定分支的更改合并到当前分支。

  17. 撤销工作目录中的更改

    git checkout -- <file_name>

    撤销对指定文件的更改,如果已经将更改添加到暂存区,但尚未提交,可以使用重置暂存区下命令撤销暂存区的更改,然后再撤销工作目录中的更改

  18. 重置暂存区

    git reset HEAD <file_name>

    将暂存区的文件撤销到最后一次提交的状态。

  19. 重置当前分支

    git reset --hard

    将当前分支重置到最后一次提交的状态,放弃所有未提交的更改

  20. 配置 Git

    • 查看配置:git config --list
    • 设置全局用户名:git config --global user.name "Your Name"
    • 设置全局邮箱:git config --global user.email "your_email@example.com"
相关推荐
墨白曦煜12 小时前
穿透 IDE 的障眼法:Git 四大工作区与核心数据流转解析
ide·git
idealzouhu14 小时前
深入 Git 账户模型:从提交身份到 SSH 多账户隔离的完整实践
git·ssh
是2的10次方啊14 小时前
误推 master 该 revert 还是 reset?撤销与补 MR 流程
git
菠萝加点糖1 天前
Git 删除远程文件、本地保留并取消跟踪
git
理智.6291 天前
Git 工具使用之项目版本回退与修改备份:stash、reset、reflog 常用指令详解
git·gitee·github
妙码生花1 天前
GIT 提交规范
git
云雀衔光2 天前
多个 MCP Server 怎么编排:数据库 / Redis / Git / 飞书一把梭
java·数据库·人工智能·redis·git·语言模型·飞书
Java后端的Ai之路2 天前
Git pull弹出vim编辑器完整排查指南
开发语言·人工智能·git·编辑器·vim
云泽8082 天前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
麻辣布丁2 天前
Git冲突原因与解决方法全解
大数据·git·elasticsearch