Git 概述及相关命令(1)

Git概述

Git 是一个强大的分布式版本控制系统,广泛用于代码管理和协作开发。

  • 仓库(Repository): 存储项目文件及其历史记录的地方,分为本地仓库和远程仓库。
  • 工作区(Working Directory): 用户当前工作文件所在的目录。
  • 暂存区(Staging Area): 临时保存更改的区域,记录了下一次提交的文件快照。
  • 提交(Commit): 将暂存区的内容保存到仓库,形成一个新的版本。
  • 分支(Branch): 指向某次提交的指针,用于在开发中并行工作。

Git操作流程图

Git相关命令

git配置命令

  • 查看用户名和邮箱地址:

    git config user.name git config user.email

  • 修改用户名和邮箱地址:

    git config --global user.name "username" git config --global user.email "email"

创建仓库

  • 在现有项目中初始化Git仓库:

    git init

  • 从远程仓库克隆:

    git clone <repository_url>

<repository_url>:远程仓库的 URL 地址,可以是 HTTPS、SSH、或 Git 协议形式,例如:

  • HTTPS :https://github.com/user/repo.git
  • SSH :git@github.com:user/repo.git

查看工作区文件的状态

复制代码
$ git status

将文件添加到暂存区

复制代码
$ git add "filename"
$ git add . 

解释: "git add ."

  1. 添加当前目录下所有更改的文件到暂存区,包括子目录中的更改。
  2. 包括新增的文件、修改过的文件,但会忽略 .gitignore 文件中指定的文件。

提交文件到本地仓库

复制代码
$ git commit -m "Commit message"

解释:

  • git commit:表示提交操作,告诉 Git 把暂存区的内容保存到仓库中形成一个新的快照。
  • -m:用于指定提交的描述信息。
  • "Commit message" :是一段简短的描述,解释了这次提交的目的或更改的内容。

查看提交历史版本信息

复制代码
$ git log
$ git reflog

回退历史版本

复制代码
git reset --hard "commit_id"

解释:

  • git reset :用于重置当前分支的 HEAD 到指定提交,支持多种模式(--soft、--mixed、--hard)。
  • --hard:表示完全重置,即同时重置提交历史、暂存区和工作区。
  • <commit_id> :指定的提交 ID(如 a1b2c3d)是目标提交,分支将回到该提交的状态。

查看分支

复制代码
$ git branch

创建分支

复制代码
$ git branch "分支名"

删除分支

复制代码
$ git branch -D "分支名"

跳转分支

复制代码
$ git checkout "分支名"

合并分支

复制代码
$ git merge "分支名"

添加远程仓库地址

复制代码
git remote add origin git@gitee.com:xu-fuyong/stm32-freertos-led-test.git

解释:

  • 这条命令将远程仓库添加到本地 Git 仓库中,并命名为 origin。
  • 其中,origin 是默认的远程名称(可以自定义其他名称,但 origin 常用作默认)。
  • 地址**git@gitee.com:xu-fuyong/stm32-freertos-led-test.git**是你在 Gitee 平台上的远程仓库的 SSH 地址,也可以是HTTP地址。

本地分支推送到远程仓库

复制代码
git push -u origin "master"

解释:

  • 这条命令将本地的 master 分支推送到远程仓库的 master 分支。
  • -u 选项会将本地 master 分支与远程的 origin/master 分支关联起来,从此以后,只需使用 git push,Git 会自动推送到 origin 的 master 分支。
  • 这个命令在本地分支首次推送到远程时很有用,因为它建立了默认的上游分支关联。

下面文章会对以上命令进行示例演示 !!!

相关推荐
鬼手点金2 小时前
opencode-性能优化建议
java·人工智能·git·自动化·nanogpt
网络毒刘4 小时前
开源 Aider 工作流实战:Git 提交驱动的 AI 结对,与 Cursor 何时互补
git·ai编程·cursor·aider
HRTOS7 小时前
HRTOS 4.0 将长期维护:为什么版本号不再频繁变化
经验分享·git·单片机·51单片机
驭渊的小故事1 天前
linux 基础命令 + git 仓库创建和配置命令
linux·git
行者-全栈开发1 天前
华为云码道 CodeArts 实测:让 AI 用 Rust 写一个 Git 仓库健康度体检台「仓衡」
git·rust·tauri·桌面应用·ai 编程·华为云码道·codearts 代码智能体
挖掘狂人3 天前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger3 天前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程3 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk3 天前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风3 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github