当前位置: 首页 > news >正文

【Git】git常用命令

初始化配置

设置用户名和邮箱,来标识身份,方便日后上传GitHub

git config --global user.name "xxx"
git config --global user.email "xxx"
git config --global --list # 存用户名和密码
git config --global --list # 查看配置

新建仓库

方式一:

git init #初始化当前文件夹为仓库

方式二:

git init 文件夹路径 #初始化指定路径为仓库

init后,文件夹中会有 .git隐藏文件夹来维持仓库信息,删除就不是仓库了

工作区域和文件状态

  • 工作区(工作区域):就是本地文件夹,和.git夹所在目录
  • 暂存区:.git/index
  • 本地仓库:.git/object
    在这里插入图片描述
    文件状态:
  • 未跟踪
  • 未修改
  • 已修改
  • 已暂存
    在这里插入图片描述

添加和提交文件

git status # 查看仓库状态
git add # 添加到暂存区
git add *.txt # 添加到暂存区 可以使用通配符
git commit # 提交到本地仓库(只提交暂存区,不提交工作区)
git log # 查看仓库提交历史记录 可以使用--oneline 参数来查看简洁的提交记录

git reset回退

reset 回退版本
在这里插入图片描述

git diff 查看差异

git diff 可以查看工作区、暂存区、本地仓库、不同版本之间的差异

在 Git 中,HEAD 是一个指向当前所在分支的引用,用于指示当前工作目录所在位置。HEAD 在 Git 中有以下几种含义和用法:

  1. HEAD 指向当前所在分支:在 Git 中,HEAD 指向当前所在分支的最新提交,即指向当前工作目录所在的分支的引用,Git 通过 HEAD 知道当前所在的分支是哪一个,以及要在哪个分支上进行操作。
  2. HEAD 指向当前的 commit:当在某个分支上进行 commit 操作时,HEAD 会随着 commit 的历史记录一起移动,始终指向最新的 commit。
  3. HEAD 指向当前的 commit 或 branch,用于表示当前工作目录的状态:当需要在当前分支上进行操作时,HEAD 用于指示当前所在位置和状态。
  4. HEAD 可以指向某个特定 commit:有时候,开发人员可能需要切换到特定的 commit 来查看历史记录、进行修改或创建新分支,这时可以通过 HEAD 指向某个特定的 commit。

总的来说,HEAD 在 Git 中是一个非常关键的指针,用于指示当前工作目录所在位置,可以帮助你了解当前所在的分支、commit 内容以及状态,对于在 Git 中进行版本控制和开发非常重要。

git diff # 工作区 vs 暂存区
git diff HEAD # 工作区+暂存区 vs 本地仓库
git diff --cached / # 暂存区 vs 本地仓库
git diff --staged # 暂存区 vs 本地仓库

比较提交之间的差异:

git diff <commit_hash><commit_hash>
git diff HEAD~ HEAD

HEAD~ 代表上一次提交
HEAD~2 代表上两次提交
同理:
HEAD~3 代表上三次提交
HEAD~n…

比较分支之间的差异:

git diff <branch_name><branch_name>

git rm 删除文件

rm file && git add file # 先从工作区删除文件,再删除暂存区(同步)
git rm file # 同时删除工作区和暂存区的文件
git rm --cached file # 把文件从暂存区删除,但保留工作区
git rm -r * # 递归删除某个目录下的所有子目录和文件

.gitignore忽略文件

作用:在上传时,忽略不需要上传的文件
如:
自动生成的文件
编译的中间文件、结果文件
日志文件、缓存文件、临时文件
敏感文件(密码、口令、密钥)

SSH配置和克隆仓库

使用git命令克隆代码有两种方式,ssh和http。

ssh:在GitHub上配置ssh公钥,安全且方便
http:需要用户名和密码,操作繁琐,每次需要输入

ssh密钥配置需要把本机公钥内容放在GitHub中,具体配置ssh步骤就先不描述了。

把本地仓库和远程仓库建立关联

初始化空仓库

git init 

和远程仓库建立关联,顺便给远程仓库起个别名

#            远程仓库别名(随便起,主要凭借远程仓库地址起作用)
git remote add origin git@github.com:xxxx/yyyy.git

查看远程仓库

git remote -v # 

推送到远程仓库上

#
git push -u origin main # 仓库分支名不同都写

拉取

git pull # 默认拉取origin仓库的main分支
git pull <远程仓库名> <远程分支名>:<本地分支名>

在这里插入图片描述

Gitee和Gitlab的私有化部署

Gitee时国内的代码托管平台,速度比Github快。
Gitlab特点是私有化部署的平台,安全性好,很多公司使用。

这里想说的是,一个本地项目可以和不同平台的项目建立关联。

比如,使用git remote -v查看远程仓库,可以同时显示Gitlab和GitHub和Gitee。因为实现可以使用git remote add和三个平台都建立关联。

vscode使用git

先写到这里,日后更新…

http://www.lryc.cn/news/382589.html

相关文章:

  • 【Proteus仿真】【Arduino单片机】寻迹避障蓝牙遥控小车
  • 嵌入式实验---实验八 ADC电压采集实验
  • PHP框架详解:Symfony框架的深度剖析
  • Linux `screen` 命令详解与使用指南
  • CSRF绕过
  • 如何处理Java中的BufferOverflowException异常?
  • XMLTomcatHttp协议
  • Lua优化技巧
  • 探索CSS中的cursor鼠标属性
  • 图象去噪1-使用中值滤波与均值滤波
  • 微软Edge浏览器全解析
  • Windows操作系统安装mysql数据库(zip安装包)
  • 什么是仓颉编程语言?
  • ONLYOFFICE8.1-------宝藏级别桌面编辑器测评
  • 微信小程序笔记 七!
  • GPT-5的即将登场:新一代大语言模型的无限可能
  • 微信小程序的常用事件的用法
  • 前端 CSS 经典:保持元素宽高比
  • MES工业一体机的自动化控制技术
  • 三品PDM电子行业解决方案介绍 电子企业PDM应用效果
  • 模拟面试之外卖点单系统(高频面试题目mark)
  • SwiftUI 6.0(iOS 18/macOS 15)关于颜色 Color 的新玩法
  • C++核心编程运算符的重载
  • 雷达标定与解析
  • 养殖自动化温控系统:现代养殖场的智能守护神
  • 用python打印——九九乘法表2
  • 如何系统学习机器学习?
  • Qt:1.杂谈
  • AI视频模型Sora核心功能以及应用场景
  • 面试-细聊synchronized