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 协议形式,例如:

  • HTTPShttps://github.com/user/repo.git
  • SSHgit@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 会自动推送到 originmaster 分支。
  • 这个命令在本地分支首次推送到远程时很有用,因为它建立了默认的上游分支关联。

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

相关推荐
郑州光合科技余经理18 小时前
同城系统海外版:一站式多语种O2O系统源码
java·开发语言·git·mysql·uni-app·go·phpstorm
郑州光合科技余经理1 天前
基于PHP:海外版同城O2O系统多语言源码解决方案
java·开发语言·git·spring cloud·uni-app·php·uniapp
Violet_YSWY1 天前
git变基删除中间版本,使用drop出现文件丢失问题,原因及解决方案
git
dragonchow1231 天前
git sparse-checkout, 只拉取部分目录
git
醇氧1 天前
Git 合并冲突提示 Local Changes Prevent from Merge
运维·git
亚林瓜子1 天前
git中移除.DS_Store文件夹和相关文件
git·mac·ignore·.ds_store
深耕半夜1 天前
git的使用手册
git
pingzhuyan1 天前
linux常规(shell脚本)-启动java程序-实现快捷git拉取,maven打包,nohup发布(无dockerfile版)
java·linux·git·maven·shell
大柏怎么被偷了1 天前
【Git】Git的认识与安装
git
切糕师学AI1 天前
如何永久忽略本地配置文件修改:Git 与 TortoiseGit 实战指南
git