Git 学习(2)

news2024/11/17 6:02:00

Git 学习(2)

版本号

Git 中文件的版本号是 40 位十六进制的数字字符串,采用 SHA-1 加密算法计算获得

这样一方面可避免在合并时的冲突问题

在这里插入图片描述

另一方面可以用于文件定位,其中前两位表示文件夹,后 38 位表示文件

在这里插入图片描述

指令介绍

在这里插入图片描述

  • 工作区
  • 暂存区
  • 存储区

  • git add
  • git commit
  • git clone
  • git publish
  • git pull
  • git push

常见操作指令

  1. 初始化仓库
    • git init: 在当前目录下初始化一个新的Git仓库
  2. 克隆仓库
    • git clone <repository_url>: 从远程仓库克隆一个本地副本
  3. 添加文件
    • git add <file>: 将文件添加到暂存区
    • git add .git add --all: 添加所有更改的文件到暂存区
  4. 提交更改
    • git commit -m "Commit message": 提交已暂存的更改并添加提交消息
  5. 查看状态
    • git status: 查看工作区、暂存区和最新提交之间的状态
  6. 查看历史记录
    • git log: 查看提交历史记录
    • git log --oneline: 以单行方式查看提交历史
    • git log --graph: 以图形方式查看提交历史
  7. 分支操作
    • git branch: 列出所有本地分支
    • git branch <branch_name>: 创建新分支
    • git checkout <branch_name>: 切换到指定分支
    • git merge <branch_name>: 将指定分支的更改合并到当前分支
  8. 远程仓库
    • git remote: 列出远程仓库
    • git remote add <name> <repository_url>: 添加一个远程仓库
    • git push <remote> <branch>: 将本地分支推送到远程仓库
    • git pull <remote> <branch>: 从远程仓库拉取更改
  9. 撤销更改
    • git reset <file>: 将文件从暂存区撤销,但保留在工作区
    • git reset --hard: 撤销所有更改,包括工作区和暂存区
  10. 标签
    • git tag <tag_name>: 创建标签以标识特定的提交
    • git push --tags: 将标签推送到远程仓库
  11. 其他操作
    • git diff: 查看工作区和暂存区之间的差异
    • git config: 配置Git
    • git stash: 暂存当前的工作目录并切换到干净的状态

文件误删除

git restore命令用于恢复工作树文件到指定提交的状态。它可以将指定文件恢复到最新的提交状态,丢弃所有未提交的更改,或者将文件恢复到暂存区的状态,但不影响工作目录中的文件

以下是一些常用的git restore指令:

  1. git restore :将指定的文件恢复到最新的提交状态,丢弃所有未提交的更改
  2. git restore --staged :将指定的文件恢复到暂存区的状态,但不影响工作目录中的文件
  3. git restore .:将工作树中所有未提交的更改恢复到最新提交状态

git reset指令用于撤销之前的Git提交,并还原工作区和暂存区的状态。它有以下几种用法:

  1. git reset --hard HEAD^:将当前分支的HEAD指针移动到上一个commit,同时丢弃当前commit的所有修改和新增文件
  2. git reset --soft HEAD^:将当前分支的HEAD指针移动到上一个commit,但是保留修改和新增文件在工作区中,可以使用git checkout命令恢复
  3. git reset --mixed [commit]:将当前分支的HEAD指针移动到指定的commit,并且将该commit的修改和新增文件应用到当前分支的工作区中,但是保留其他分支的修改不受影响
  4. git reset [–hard | --soft | --mixed] []:与以上三种用法类似,不同之处在于可以使用参数指定要回滚到的特定commit

git revert指令用于撤销之前的Git提交,并还原工作区和暂存区的状态。它与git reset指令不同,因为它不会删除任何数据,而是创建一个具有相反改动的新提交,从而撤销掉指定的提交

以下是一些常用的git revert指令:

  1. git revert :将指定的提交撤销,并创建一个新的提交来还原该提交之前的状态
  2. git revert --abort :中止正在进行的revert操作,并将工作区和暂存区恢复到指定的提交之前的状态
  3. git revert -n :尝试使用指定的提交来恢复工作区和暂存区的状态,但是只还原自该提交之后的变化
  4. git revert -m 1 :尝试使用指定的提交来恢复工作区和暂存区的状态,但是只还原自该提交之后的变化

远程仓库交互

以下是与远程仓库进行交互的一些常用Git命令:

  1. 克隆远程仓库
    • git clone <repository_url>: 从远程仓库克隆一个本地副本
  2. 添加远程仓库
    • git remote add <name> <repository_url>: 添加一个远程仓库,并为其指定一个别名(通常别名是 “origin”)
  3. 查看远程仓库
    • git remote: 列出所有已配置的远程仓库
    • git remote -v: 列出所有远程仓库的详细信息(URL)
  4. 拉取远程更改
    • git pull <remote> <branch>: 从远程仓库拉取指定分支的更改,并合并到当前分支
    • git pull origin master: 从名为 “origin” 的远程仓库的 “master” 分支拉取并合并更改
  5. 推送本地更改
    • git push <remote> <branch>: 将本地分支的更改推送到远程仓库
    • git push origin feature-branch: 推送本地的 “feature-branch” 分支到 “origin” 远程仓库
  6. 查看远程分支
    • git branch -r: 查看远程仓库的分支列表
  7. 删除远程分支
    • git push <remote> --delete <branch>: 删除远程仓库上的指定分支
    • git push origin --delete feature-branch: 删除名为 “feature-branch” 的远程分支
  8. 查看远程仓库信息
    • git remote show <remote>: 查看特定远程仓库的详细信息,包括远程分支和跟踪情况
  9. 获取远程更改信息
    • git fetch <remote>: 获取远程仓库的最新更改信息,但不合并到当前分支。这允许你查看远程分支的更新情况
  10. 查看远程分支的差异
    • git diff <remote>/<branch>: 查看本地分支与远程分支之间的差异
  11. 设置远程仓库URL
    • git remote set-url <remote> <new_url>: 更改远程仓库的URL

这些命令用于与远程Git仓库进行交互,帮助你同步和管理代码。根据你的需求,可能还会有其他高级命令和选项

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1047496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DDS信号发生器Verilog波形发生器FPGA

名称&#xff1a;DDS信号发生器Verilog波形发生器 软件&#xff1a;Quartus 语言&#xff1a;Verilog 要求&#xff1a; 1.可产生正弦波&#xff0c;锯齿波&#xff0c;三角波&#xff0c;方波4种波形&#xff0c;频率可调 2.具有波形选择、起动、停止功能。 代码下载&…

Flink on yarn 实战和源码分析

版本&#xff1a;1.13.6 目录 Flink on yarn 的3种模式的使用 yarn session 模式源码分析 yarn per-job模式源码分析 application模式源码分析 Flink on yarn 的3种模式的使用 Application Mode # ./bin/flink run-application -t yarn-application ./examples/streaming…

Apollo简易地图制作

在Apollo中模拟障碍物 一、准备工作 在模拟障碍物之前&#xff0c;需要下载并编译Apollo源码&#xff0c;过程可以依据Apollo开放平台文档&#xff0c;其中可能遇到的问题在这里或许可以寻找到答案 二、运行Dreamview 进入容器 cd ~/apollobash docker/scripts/dev_start.s…

515万新作者投身电商事业,抖音电商将投入更多资源扶持作者长期发展

9月27日&#xff0c;2023抖音电商作者峰会在上海举办。上千位抖音电商作者、MCN机构、精选联盟服务商、商家等重要生态伙伴参会&#xff0c;围绕大会主题“向新成长”进行了深入探讨。会上&#xff0c;抖音电商总裁魏雯雯提到&#xff0c;电商作者的事业有更多发展方向。为助力…

输送机使用的常见误区

输送机也称流水线&#xff0c;是指在自动化生产过程中起到运输货物&#xff0c;联通各个生产设备的主要机械设备。但在使用的过程中&#xff0c;很多用户对于输送机的使用存在一定的误区&#xff0c;导致设备故障频出&#xff0c;下面就针对用户已在使用输送机过程中的常见误区…

以太网中的介质共享访问控制机制

什么是CSMA/CD CSMA/CD&#xff08;Carrier Sense Multiple Access with Collision Detection&#xff09;是一种用于以太网等共享介质的访问控制机制。它用于协调多个设备共享同一物理介质&#xff08;例如同一局域网&#xff09;上的传输权利&#xff0c;以避免碰撞并提供公…

mac安装python2

Python 2 于 2020 年 1 月 1 日宣布结束支持&#xff0c;包括 Homebrew 在内的许多项目和包管理器已经停止支持 Python 2。 如果现在你还要安装 Python 2&#xff0c;需要从 Python 官网下载安装包&#xff1a; 访问 Python 的发布页面。从页面底部找到 Python 2 的最后一个版…

tp8 Editor.md

Editor.md - 开源在线 Markdown 编辑器 放于public文件夹下 html代码&#xff1a; <div class"layui-col-md12" id"content"><textarea name"content" placeholder"详情" class"layui-textarea">{notempty nam…

【Unity的HDRP渲染管线搭建配置VR交互场景_SteamVR 插件和Pico串流助手_经验分享】

HDRP渲染管线配置VR交互场景 Unity创建场景和相关配置下载导入项目打开PICO串流助手在Pico中的配置:用Steam串流VR_这篇的前置补充 Unity创建场景和相关配置 带HDRP Sample Scene 示例的 下载 SteamVR Unity插件地址02 导入项目

GEO生信数据挖掘(二)下载基因芯片平台文件及注释

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 下载平台文件 1.AnnotGPL参数改为TRUE,联网下载芯片平台的soft文件。&#xff08;国内网速奇慢经常中断&#xff09; 2.手工去GEO官网下载 转换芯片探针ID为gene name 拓…

ADS-B及雷达显示终端8.3

新版本功能升级主要有如下: 1、地图更新 在上一版本8.2中使用的高程地图为由SRTM经过地形晕渲后&#xff0c;生成地形图片&#xff0c;然后对图片进行贴图&#xff0c;一一按规定位置、大小将地形图贴至底图上&#xff0c;而后在底图上进行二维矢量地图的绘制&#xff0c;包括…

uniapp app 导出excel 表格

直接复制运行 <template><view><button click"tableToExcel">导出一个表来看</button><view>{{ successTip }}</view></view> </template><script>export default {data() {return {successTip: }},metho…

【面试高高手】—— SpringBoot(11题)

文章目录 1.什么是SpringBoot?2.为什么需要Spring Boot&#xff1f;3.SpringBoot的特征&#xff1f;4.SpringBoot的两个策略是什么&#xff1f;5.说一下SpringBoot的自动装配流程&#xff1f;6.说下什么是 Bean?7.什么是 CSRF 攻击&#xff1f;如何避免&#xff1f;8. Spring…

python ToastNotifier TypeError got Nonetype

这个错误没什么影响&#xff0c;只是在通知结束后会抛出 如果你实在不爽&#xff0c;办法如下&#xff1a; 找到"<你的python安装路径>\Lib\site-packages\win10toast"&#xff0c;里面应该有__main__.py和__init__.py两个文件&#xff0c;打开__init__.py 找到…

人工智能(AI)在产生新创意方面有多出色?

传统智慧一直不太擅长此道。发现新的创业机会、为未满足的需求提供解决方案&#xff0c;以及为新公司命名都是非结构化的任务&#xff0c;似乎不适合由算法来完成。然而&#xff0c;人工智能的最新进展——特别是像ChatGPT这样的大语言模型的出现——正在挑战这种假定。 我们教…

【ES6知识】Promise 对象

文章目录 1.1 概述1.2 静态方法1.3 实例方法1.4 Promise 拒绝事件 1.1 概述 Promise 对象用于表示一个异步操作的最终完成&#xff08;或失败&#xff09;及其结果值。是异步编程的一种解决方案&#xff08;可以解决回调地狱问题&#xff09;。 一个 Promise 对象代表一个在这…

Python实用技术——爬虫(二):爬虫需要使用的库

一&#xff0c;Requests库 1&#xff0c;主要使用方法&#xff1a; 1&#xff09;get&#xff08;&#xff09;方法&#xff1a; 这个Response对象中包含爬虫返回的内容。 除了request方法是基础方法外&#xff0c;其他都是通过调用request方法来实现的。 所以&#xff0c;我…

[React] React高阶组件(HOC)

文章目录 1.Hoc介绍2.几种包装强化组件的方式2.1 mixin模式2.2 extends继承模式2.3 HOC模式2.4 自定义hooks模式 3.高阶组件产生初衷4.高阶组件使用和编写结构4.1 装饰器模式和函数包裹模式4.2 嵌套HOC 5.两种不同的高阶组件5.1 正向的属性代理5.2 反向的继承 6.如何编写高阶组…

使用 Express 设置 GraphQL

使用 Express 设置 GraphQL 在本文中&#xff0c;我们将探讨如何在 Node.js 中设置 Express.js 和 GraphQL。另外&#xff0c;本文还将分享一些基本技巧&#xff0c;以确保我们的服务器已准备好投入实际使用&#xff01; 什么是 GraphQL GraphQL 是 API 的查询语言&#xff…

网络爬虫——urllib(1)

前言&#x1f36d; ❤️❤️❤️网络爬虫专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ 前篇简单介绍了什么是网络爬虫及相关概念&#xff0c;这篇开始讲解爬虫中的第一个库——urllib。 urllib&#x1f36d; …