Git入门学习(1)

news2024/9/20 20:01:20

Git

00.准备工作-gitee注册

今天Git的设置中需要用到gitee的注册信息,先自行完成注册工作,可以 参考笔记 或第二天视频(10.Git远程仓库-概念和gitee使用准备

传送门:

  1. gitee(码云):https://gitee.com/

注册+验证邮箱:

  1. 点击右上角的注册(注意: 姓名部分是昵称,不是真实姓名

在这里插入图片描述

  1. 注册完毕之后登录,屏幕右上角会出现如下提示,点击添加绑定

在这里插入图片描述

  1. 在跳转的页面完成邮箱的新增+验证操作

在这里插入图片描述

  1. 看到如下提示,说明绑定成功

在这里插入图片描述

  1. 记住自己gitee邮箱用户名

01.认识及安装Git

版本控制系统: 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

传送门:关于版本控制

作用:

  1. 记录(项目)文件变化

  2. 查看记录信息

  3. 将文件切换到记录时的状态

演示:

  1. 在素材中的: 01.认识及安装Git,已经使用git进行版本控制,可以用来演示查看,及切换
git log --oneline #查看
git reset --hard 版本号 #切换

在这里插入图片描述

安装-windows:

  1. 下载: https://git-scm.com/download/win
  2. 根据自己的电脑版本,下载对应的安装包(32或64位)

在这里插入图片描述

  1. 双击安装:
    1. 不要安装在中文目录!!!!!
    2. 使用默认设置即可,一路下一步
  2. 安装完毕之后,在任意文件夹下鼠标右键,看到Git Bash here说明安装成功

在这里插入图片描述

安装-mac:

  1. 下载: https://git-scm.com/download/mac

在这里插入图片描述

在这里插入图片描述

  1. 全部使用默认设置安装,如果出现无法安装提示:(设置->隐私与安全性->仍要打开),然后再次安装

在这里插入图片描述

  1. 安装完毕之后,在打开终端,输入git --version看到如下提示说明安装成功

在这里插入图片描述

02.Git配置用户信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 因为每一个 Git 提交都会使用这些信息

传送门:初次运行的配置

步骤:

  1. window用户: 在任意位置打开git bash

  2. mac用户: 在任意位置打开终端

  3. 输入命令:(#部分是注释

# 配置用户名
git config --global user.name "gitee注册的用户名"
# 配置邮箱
git config --global user.email gitee配置的邮箱
# 查看配置
git config --list
  1. 如果配置信息太多需要退出可以输入 q

终端使用补充:

  1. 上下,切换历史命令
  2. tab键 出来一些提示,需要写一些东西,才有提示
  3. clear:清屏命令

03.本地初始化Git仓库

文档地址: 通常有两种获取 Git 项目仓库的方式

  1. 将 尚未进行版本控制 的本地目录 转为 Git仓库(初始化仓库)

  2. 从其他服务器 克隆 一个已存在的Git仓库

步骤:

  1. 创建新文件夹并在该文件夹下打开:

    1. windows:

      1. 进入文件夹
      2. 在文件夹中点击鼠标右键,选择git bash here打开
    2. mac:

      1. 在文件夹上点击鼠标右键-选择 新建位于文件夹位置的终端窗口

      在这里插入图片描述

  2. 输入命令 git init,看到有如下信息(下图1)输出说明初始化成功,重复输入会有提示(下图2

在这里插入图片描述

在这里插入图片描述

  1. 文件夹下可以看到有一个隐藏的**.git** 文件夹,不要改动他
    1. mac用户可以通过快捷键: Command + Shift + . 切换隐藏文件的显示

在这里插入图片描述

04. 记录每次更新到仓库

文档地址:每当完成了一个阶段的目标,想要记录下它时,就将它提交到仓库。

在这里插入图片描述

步骤:

  1. 工作区开发(上一节创建的文件夹内

  2. 将修改后的文件添加到暂存区

  3. 将暂存区的文件记录到版本库

  4. 执行命令的时候可以看到下图类似的提示

# 添加到暂存区
git add .
# 记录到版本库
git commit -m"信息"

在这里插入图片描述

需求:

在这里插入图片描述

实现页面效果,并用Git记录每一次操作

参考步骤:

  1. 创建新文件夹并初始化仓库

  2. 创建首页并添加结构(Git记录

  3. 创建css并编写样式(Git记录

  4. 创建js并编写逻辑(Git记录

重复: 工作区开发 –> 添加到暂存区 git add . –> 记录到版本库 git commit -m"信息"

05. 查看及切换历史版本

使用git记录到版本库之后,就可以查看并切换到对应的历史版本

命令:

  1. 命令执行的位置,就在上一节打开的终端,或git bash
  2. 核心命令如下
# 简略信息
git log --oneline
# 完整信息,如果出现无法退出,可以按 q
git log
# 切换到指定版本
git reset --hard 版本号
  1. 拓展命令
# 查看完整历史(版本切换之后git log可能会出现无法查看的情况)
git reflog

测试:

  1. 使用上一节完成的需求,测试本节的命令

06. Git忽略文件和查看文件状态

文档地址: 我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件

测试步骤:

# 查看文件状态
git status
  1. 红色: 工作区有文件更改

  2. 绿色: 暂存区有文件更改

  3. nothing to commit: 没有任何文件更改

在这里插入图片描述

在这里插入图片描述

.gitignore 部分语法:

  1. 项目开发中,一般都会默认准备好.gitignore文件,了解基础语法即可
# 这里演示的部分语法
# #之后的内容是注释 会被Git忽略
# 忽略 info.txt 文件
info.txt
# 忽略 .vscode/ 目录下所有的文件
.vscode
# 忽略目录下所有.md结尾的文件
*.md
# 会忽略 doc/目录下扩展名为txt的文件
doc/*.txt

需求:

修改VSCode工作区设置,设置失去焦点时自动保存文件,并通过 .gitignore 让Git忽略工作区设置

在这里插入图片描述

在这里插入图片描述

  1. 创建新文件夹并初始化仓库,VSCode打开文件夹(git status

  2. 调整VSCode工作区设置,开启失去焦点自动保存文件并测试( git status

  3. 创建 .gitignore 并配置忽略生成的工作区设置( git status

  4. 使用Git记录,记录的过程中查看文件状态

注意: 后续如果没有特殊说明,git bash终端的打开位置就是当前文件夹,

07.Git分支-查看及切换

文档地址: 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

在这里插入图片描述

图形说明:

  1. 底部蓝色是记录的信息,从左往右
  2. main,默认分支,初始化仓库之后就有
  3. HEAD,指向当前分支 main

在这里插入图片描述

图形说明:

  1. 底部是记录的信息,从左往右
  2. main,默认分支,只记录了3次

在这里插入图片描述

  1. dev,开发分支,包含了main的3次记录,及自己的3次记录

在这里插入图片描述

  1. HEAD,指向当前分支 dev

注意: Git初始化仓库之后默认使用的分支名是 main(早期是 master),默认分支名不相同,不影响后续操作

操作命令:

可以通过素材: 07.Git分支-查看和切换分支 测试如下命令

# 查看分支
git branch
# 切换分支
git checkout 分支名
# 重命名分支 ,如果默认是master,可以通过这个命令改为main
git branch -m 老分支 新分支

08. Git分支-创建分支

创建分支就是创建了一个新的可以移动的指针,默认的指向和原分支一样

操作命令:

# 创建分支
git branch 新分支名
# 切换分支
git checkout 分支名

# 这些是上一节学习的
# 查看分支
git branch
# 切换分支
git checkout 分支名
# 重命名分支 ,如果默认是master,可以通过这个命令改为main
git branch -m 老分支 新分支

操作说明:

  1. 比如默认仓库状态如下:
    • 1个分支: main
    • 提交: 3次
    • 当前所在分支:main

在这里插入图片描述

  1. 执行命令: git branch dev

    • 2个分支: maindev
    • 提交: 3次
    • 当前所在分支: main

    在这里插入图片描述

  2. 执行命令: git checkout dev

    • 2个分支: maindev
    • 提交: 3次
    • 当前所在分支: dev

在这里插入图片描述

  1. 在dev分支,继续: 编码–>git记录(git add . git commit -m"信息"),并重复3次
    1. 2个分支: maindev
    2. 提交: 3次(main),6次(dev,包含了main
    3. 当前所在分支: dev

在这里插入图片描述

需求:

基于提供的Git仓库(素材: 08.Git分支-创建分支),创建并切换到新的分支(dev),并实现如下效果,注: 布局,样式,逻辑实现基本效果即可

在这里插入图片描述

参考步骤:

  1. 创建并切换分支(dev)

  2. 实现注册页布局、样式、逻辑,并记录

09.Git分支-合并及删除分支

合并分支可以将某个分支上的所有commit,并到当前分支的commit

合并完毕之后,可以删除多余分支

操作命令:

# 将指定分支合并到当前分支
git merge 分支名
# 删除已合并的分支
git branch -d 分支名

# 这些是目前学习的分支相关命令
# 创建分支
git branch 新分支名
# 切换分支
git checkout 分支名
# 查看分支
git branch
# 切换分支
git checkout 分支名
# 重命名分支 ,如果默认是master,可以通过这个命令改为main
git branch -m 老分支 新分支

操作说明:

  1. 上一节的仓库操纵完毕之后状态如下:
    • 2个分支: maindev
    • 提交: 3次(main),6次(dev
    • 当前所在分支:dev

在这里插入图片描述

  1. 执行命令:git checkout main
    1. 2个分支: maindev
    2. 提交: 3次(main),6次(dev
    3. 当前所在分支:main

在这里插入图片描述

  1. 执行命令:git merge dev
    1. 2个分支: maindev
    2. 提交: 6次(main),6次(dev
    3. 当前所在分支:main

在这里插入图片描述

  1. 执行命令git branch -d dev
    1. 1个分支: main
    2. 提交: 6次(main)
    3. 当前所在分支:main

在这里插入图片描述

需求:

将上一节Git仓库中的 dev 分支 合并到 main 分支,并删除 dev 分支

参考步骤:

  1. 切换到main分支

  2. 合并dev分支

  3. 删除dev分支

在这里插入图片描述

10.Git分支-命令补充

除了目前学习的命令以外,在日常开发中还有一些分支操纵较为常见的命令

下图是常见命令,标红部分为本节补充的

操作命令
查看分支git branch
创建分支git branch 新分支名
切换分支git checkout 分支名
创建+切换分支git checkout –b 新分支名
合并分支git merge 分支名
删除分支git branch –d 分支名
强制删除分支git branch –D 分支名
重命名分支git branch –m 老分支名 新分支名

需求:

基于提供的Git仓库(main分支+3次commit),测试 补充的命令(素材: )

在这里插入图片描述

参考步骤:

  1. 创建并切换到test分支

  2. 写2个功能,比如注册页布局、样式并记录(仓库状态如下

在这里插入图片描述

  1. 切换到main分支,并强制删除test分支(仓库状态如下)

在这里插入图片描述

11.Git分支-冲突

文档地址: 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们。

操作说明:

  1. 执行命令git branch -d dev
    1. 2个分支: maindev
    2. 提交:
      1. 4次(main):前3次和dev相同,第4次改了文件A,修改方式和dev分支不同
      2. 4次(dev):前3次和main相同,第4次改了文件A,修改方式和main分支不同
    3. 当前所在分支:main

在这里插入图片描述

  1. 执行命令git merge dev合并devmain分支
  2. 2个分支: maindev
  3. 提交:
    1. 5次(main):前3次和dev相同,第4次改了文件A,第5次合并之后处理冲突的记录
    2. 4次(dev):前3次和main相同,第4次改了文件A,修改方式和main分支不同
  4. 当前所在分支:main

在这里插入图片描述

需求:

基于提供的Git仓库(素材: 11.Git分支-冲突)和参考步骤测试合并时出现的冲突,解决冲突并记录

参考步骤:

  1. 分别在在devmain分支修改index.js文件(不同分支,相同文件,相同位置,不同修改)

  2. dev分支合并到main分支

  3. 根据VSCode的提示解决冲突并记录!!!!!!!!!

    1. 可以选择顶部那一排选项
    2. 1-3选了之后可以用ctrl+z撤销
    3. 4,选了之后会弹出新的页面,对比新旧修改,可以关闭

在这里插入图片描述

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

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

相关文章

Hutool树结构工具-TreeUtil构建树形结构

1 pom.xml <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version> </dependency> 2 核心代码 import cn.beijing.satoken.domain.ZhiweiCityArea; import cn.beijing.sa…

Superset二次开发之优化Mixed Chart 混合图(柱状图+折线)

背景 基于Mixed Chart(柱状图+折线)作图,显示 某维度A Top10 + 其他 数据,接口返回了值为 undefined 的某维度A 数据,前端渲染成 某维度A 值为 0 此图表存在的问题: 图表控件编辑页面,即便数据集正常查询出 Top10 + ‘其他’ 数据,但是堆积图表渲染时,返回了 值为 0…

HarmonyOS ArkTS 用户首选项的开发及测试

本节以一个“账本”为例&#xff0c;使用首选项的相关接口实现了对账单的增、删、改、查操作&#xff0c;并使用自动化测试框架arkxtest来对应用进行自动化测试。 为了演示该功能&#xff0c;创建一个名为“ArkTSPreferences”的应用。应用源码可以在文末《跟老卫学HarmonyOS开…

恢复已删除文件的可行方法,如何恢复已删除的文件

在清理 PC 或优化存储设备时无意中删除重要文件是一种常见的人为错误。不可否认&#xff0c;在批量删除文件时&#xff0c;您通常会一起删除垃圾文件和重要文件。您后来意识到一堆文件或文件中缺少一个重要的文档或文件。在这种情况下&#xff0c;您唯一的选择是寻找恢复已删除…

优思学院|如何通过六西格玛方法优化流程,减少90%的浪费?

随着竞争压力的增加和对更快结果的需求&#xff0c;越来越多的企业开始依赖精益六西格玛来优化流程&#xff0c;减少浪费。精益六西格玛不仅改变了制造业&#xff0c;也影响了几乎所有行业的业务运营&#xff0c;提升了效率&#xff0c;消除了低效环节。这里优思学院和大家探讨…

sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 基础知识 什么是强化学习 强化学习&#xff08;Reinforcement Learning, RL&#xff09;&#xff0c;又称再励学习、评价学习或增强学习&#xff0c;是机器学习的范式和方法论之一&#xff0c;用于描述和解决智能体&#…

电机设计及电机仿真APP系列之—高速永磁同步电机仿真APP

电机的各种工作状态和参数变化。用户可通过调整仿真参数&#xff0c;快速得到电机的响应和性能参数&#xff0c;从而进行针对性的优化和改进。借助仿真APP&#xff0c;可大大减少电机设计迭代次数和成本&#xff0c;提高测试效率和准确性。 小编整理了10款不同类型的电机仿真A…

掌握顶会流量密码!“Mamba+CNN”双热点组合!轻松找到创新点!

传统视觉模型在处理大规模或高分辨率图像时存在一定限制。然而Mamba与CNN相结合&#xff0c;在处理序列数据和图像数据时有着显著的优势&#xff0c;并且能够有效提升模型计算效率和准确率。 这种结合可以让Mamba在处理长序列数据时既能够捕捉到序列中的时间依赖关系&#xff…

springboot整合springbatch和xxljob实现定时数据同步(完整代码)

springboot整合springbatch和xxljob实现定时数据同步&#xff08;完整代码&#xff09; 前言&#xff1a;公司一些老项目的定时任务使用spring自带的调度器来完成数据同步的&#xff0c;久而久之带来很多的不方便。首先没办法快速定位监控定时任务的执行情况&#xff0c;其次就…

c++11右值引用和移动语义

一.左值引用和右值引用 什么是左值引用&#xff0c;什么是右值引用 左值是一个表示数据的表达式&#xff08;变量名解引用的指针&#xff09;&#xff0c;我们可以获取到它的地址&#xff0c;可以对它赋值&#xff0c;左值可以出现在符号的左边。使用const修饰后&#xff0c;…

python检测keycloak证书连接报错问题

最近一直被keycloak的证书问题困扰了很久&#xff0c;老是提示ssl安全连接&#xff0c;由于不会java,只好硬着头皮用python测试。 我这里的证书是自己签注的证书&#xff0c;导入系统的是CA根证书。 from keycloak import KeycloakOpenID# 1. 配置 Keycloak 客户端 keycloak_o…

电子画册3D翻页电子版是如何制作

​随着科技的发展&#xff0c;传统的纸质画册逐渐被电子画册所取代。电子画册3D翻页电子版以其独特的交互方式和丰富的视觉体验&#xff0c;受到了越来越多人的喜爱。让我来教你怎么制作吧。 1.要制作电子杂志,首先需要选择一款适合自己的软件。比如FLBOOK在线制作电子杂志平台…

信息收集常用指令

目的 本文主要是记录一些在信息搜集时&#xff0c;常用的提高搜索效率的命令。 后续会继续记录一些用到的更多指令和方法&#xff0c;慢慢更新。 1、inurl “inurl:xxx”是指查找url中包含xxx的网页。 URL&#xff1a;统一资源定位符。统一资源定位系统。可以说包含域名&am…

ThreaLocal

1.概述 ThreadLoca称线程局部变量&#xff0c;用于在线程中保存数据&#xff0c;保存的数据仅属于当前线程(即对其他线程而言&#xff0c;该变量是当前线程独有的变量) threadLocal利用Thread中的ThreadLocalMap来进行数据存储 2.常用方法 存储数据至当前线程ThreadLocalMap中…

无监督神经组合优化的扩散模型框架

文章目录 Abstract1. Introduction2. Problem Description2.1 无监督神经组合优化3. Neural Probabilistic Optimization Objective for Approximate Likelihood Models3.1 具有联合变分上界的训练扩散模型Abstract 从离散集合的不可处理分布中进行采样,而不依赖相应的训练数据…

OpenAI o1解决了Quiet-STaR的挑战吗?(下)

随着OpenAI o1近期的发布&#xff0c;业界讨论o1关联论文最多之一可能是早前这篇斯坦福大学和Notbad AI Inc的研究人员开发的Quiet-STaR&#xff0c;即让AI学会先安静的“思考”再“说话” &#xff0c;回想自己一年前对于这一领域的思考和探索&#xff0c;当初也将这篇论文进行…

初学者蒙语学习,使用什么翻译软件学习更快?

为了加快蒙古语的学习&#xff0c;初学者应该从基础语法和词汇入手&#xff0c;利用语言学习应用进行系统学习&#xff0c;并通过音频和视频材料提高听力。语言交换和参加课程可以提供实践机会&#xff0c;而使用闪卡和文化沉浸有助于记忆词汇和理解语言背景。定期复习和设定学…

聊天组件 Vue3-beautiful-chat 插槽

前言 Vue3-beautiful-chat 组件有四个插槽可以定制 一、user-avatar(头像) 首先是头像插槽,我们可以直接在 <beautiful-chat></beautiful-chat> 中间使用; 作用: 我们可以在用户头像上添加自定义样式,比如添加节日边框、可以使用首字母作为头像。。。 …

小阿轩yx-通过state模块定义主机状态

小阿轩yx-通过state模块定义主机状态 前言 前面学习了远程执行模块&#xff0c;这些模块的执行类似语段 shell 脚本&#xff0c;每次执行都会触发一次相同的功能&#xff0c;在大量的 minion 上运行远程命令当然是重要的&#xff0c;但是对于 minion 的环境控制&#xff0c;使…

Python 二级考试

易错点 定义学生关系模式如下&#xff1a;Student &#xff08;S#&#xff0c; Sn&#xff0c; Ssex&#xff0c;class&#xff0c;monitorS#&#xff09;&#xff08;其属性分别为学号、学生名、性别、班级和班长学号&#xff09; 在关系模式中&#xff0c;如果Y -> X&…