Git基础知识学习

news2024/11/17 6:22:20

1. Git工作机制

在这里插入图片描述

  • Workspace: 工作区,就是你平时存放项目代码的地方
  • Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

2. Git安装

git下载地址

3. Git设置用户签名

  • git config --global user.name “userName”
  • git config --global user.email “emailAddress”
  • 注意:如果不设置,后面提交数据的时候就会报错

4. 初始化本地库

基本语法:git init

生成.git,千万不能修改里面的文件
在这里插入图片描述

5. 查看本地库

基本语法:git status
  1. 初始化,不存在任何文件
    在这里插入图片描述

“On branch master”:目前在master分支
“No commits yet”:还没有提交过文件
“nothing to commit”:没有文件可以提交

  1. 现在新建一个hello.txt
    在这里插入图片描述
    在这里插入图片描述

检测到没有被跟踪的文件

6. 暂存区的添加和删除

添加:git add hello.txt
删除:git rm --cached hello.txt

在这里插入图片描述
在这里插入图片描述

7. 提交本地库

基本语法:git commit -m "日志信息" 文件名

在这里插入图片描述

8. 查看版本信息

基本语法:git reflog
基本语法:git log

在这里插入图片描述

9. 修改文件(对hello.txt文件修改了内容)

  1. 查看状态(红色modified:修改但未被add)
    在这里插入图片描述
  2. 第二次add文件(绿色modified:修改且被add)
    在这里插入图片描述
  3. commit文件(修改=1 insertions + 1 deletion)
    在这里插入图片描述
  4. 此时工作区又是干净的了
    在这里插入图片描述
  5. 此时HEAD指针指向第二版本
    在这里插入图片描述
    在这里插入图片描述

10. 版本穿梭

基本语法:git reset --hard 版本号
  1. 首先查看文件版本
    在这里插入图片描述

  2. 跳转到指定版本
    在这里插入图片描述

  3. 此时文件的内容就回到了first commit时的内容了

  4. 基本原理
    在这里插入图片描述

11. 分支

查看分支:					git branch -v
创建分支:					git branch 分支名
切换分支:					git checkout 分支名
把指定分支合并到当前分支上:	git merge 分支名
  1. 查看分支
    在这里插入图片描述
  2. 创建分支
    在这里插入图片描述
  3. 切换分支
    在这里插入图片描述
  4. 合并分支(冲突合并)(正常合并类似如下)
  • hello.txt文件(原内容:hello,world)
  • master分支的hello.txt文件(修改内容:hello,world 合并后)
  • hot-fix分支的hello.txt文件修改(修改内容:hello,world 合并前)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 现在来合并master分支和hot-fix分支,看看会发生什么
    在这里插入图片描述
  • 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法替我们决定使用哪一个,必须人为决定新代码内容。
  • (master|MERGING)表示合并失败,仍在合并中,这时候就需要我们手动合并
    ① 去掉特殊符号<<<<<<<HEAD、=====、>>>>>>hot-fix
    ② 然后对内容进行修改
    ③ git add hello.txt
    ④ git commit -m ‘‘submit after merging’’(这里不能再加上hello.txt文件名)
    在这里插入图片描述
  • 由于合并的是在master分支上,所以hot-fix分支上的内容没有改变
    在这里插入图片描述

12. 团队协作

在这里插入图片描述

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

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

相关文章

CleanMyMac4.12.3全新版本Mac清理优化工具

CleanMyMac X是一款超好用的Mac清理优化工具&#xff0c;可以帮助用户删除系统垃圾、不需要的应用程序和恶意软件&#xff0c;并调整您的 Mac 以获得最大速度&#xff01; CleanMyMac X作为一款知名的系统清理软件&#xff0c;深受广大用户们的喜爱。它操作简洁&#xff0c;能够…

Mycat2(三)mycat2搭建读写分离

文章目录一、mycat一主一从读写分离原理二、搭建MySQL主从复制三、配置mycat2一主一从读写分离四、配置Mycat2双主双从读写分离4.1 Mysql 双主双从搭建步骤1、创建MySQL数据库与MySQL 机器信息2、双柱双从配置2.1 master1配置2.2 master2配置2.3 Slave1、Slave2 配置3、在两台主…

程序员如何在职场上走得更远一些?

一. 工作心态 首先第一个要聊的啊就是这个心态的问题&#xff0c;我觉得有时候可以改变一下自己的心态&#xff0c;可以尝试把工作当成一种投资&#xff0c;或者说呢把工作当成一种自己的产品来经营&#xff0c;把目光多多的聚焦在这个收获和成长上面啊这样一个心态来应对&…

KV数据分片和分布

KV数据分片和分布 KV存储数据组织方式 Hash&#xff1a;对于Hash方式&#xff0c;键值对数据的存储位置由预定义的Hash函数确定&#xff0c;因此所有键值对数据不是有序排列。Hash方式的优点是通过Hash函数计算存储位置的效率高&#xff0c;因此处理插入、删除、更新、单点查…

MySQL之事务

引入事务&#xff1a; 一个事务其实就是一个完整的业务逻辑&#xff0c;它是一个最小的工作单元&#xff0c;是不可再分的。 那么什么是一个完整的业务逻辑呢&#xff1f; 拿现实生活中的银行业务举例&#xff0c;假设转账&#xff0c;从A账户向B账户中转账10000&#xff0c…

Redis:一、简介

Redis 1. redis的简介 1.1 NoSQL的介绍 在介绍redis之前&#xff0c;我们先来了解一下NoSQL(Not only SQL)&#xff0c;不仅仅是SQL。 NoSQL&#xff0c;泛指非关系型的数据库。随着互联网web2.0网站的兴起&#xff0c;传统的关系型数据库在应付web2.0网站&#xff0c;特别…

Cache(缓存)基本概念

cache的概念在计算机中被广泛应用&#xff0c;包括TLB等都使用了它的理念&#xff0c;因此对其进行总结。Cache——位于CPU上&#xff0c;处于寄存器和内存之间的存储单元。 Cache Hit & Miss在写入cache的时候&#xff0c;有hit&#xff08;命中&#xff09;和miss&#x…

基于ros1的 apollo 7.0.0规划控制算法

apollo.ros-7.0.0 上次给大家带来了之前学习apollo时开发的内容apollo.ros-1.0.0和apollo.ros-3.0.0&#xff0c;主要是针对apollo 1.0.0和3.0.0版本进行了ros1下的移植和规划控制算法的学习。本次在之前工作的基础上&#xff0c;针对apollo 7.0.0版本&#xff0c;进行了ros1下…

植物大战僵尸:分析植物的攻击速度

植物大战僵尸中&#xff0c;植物是有攻击速度的&#xff0c;比如每隔一段时间会吐出一些子弹&#xff0c;那么由此可判断吐出子弹应该是由一个计数器控制的&#xff0c;也就是说只要我们能够找到控制植物攻击的时钟并改写它&#xff0c;也就可以实现植物的无限吐子弹。 吐出子…

数据结构---二叉树

坚持看完&#xff0c;结尾有思维导图总结 这里写目录标题什么是二叉树&#xff1f;二叉树的定义二叉树的性质二叉树的基石在哪里?总结什么是二叉树&#xff1f; 二叉树的定义 二叉树&#xff0c;就是从一个根开始&#xff0c;按照两边分支的方式向下生长的树&#xff0c;就能…

python虚拟环境的概念,用法(pycharm)

1.在PyCharm中创建python项目时&#xff0c;需要配置python的运行环境&#xff0c;除了使用系统现有环境以外&#xff0c;还可以创建虚拟环境。 2.虚拟环境的创建是因为在实际开发中需要同期用到不同版本的python解释器&#xff0c;不同的第三方库以及同一个第三方库的不同版本…

Qt音视频开发08-ffmpeg内核优化(极速打开/超时回调/实时响应)

一、前言 最初编写这套视频解析组件的时候&#xff0c;面对的场景是视频监控行业&#xff0c;对应设备都是网络监控摄像机&#xff0c;传过来的都是rtsp这种视频流&#xff0c;做过这一块的人都知道&#xff0c;打开某个视频流默认耗时比较大&#xff0c;基本上在2s左右&#…

高级前端二面手写面试题(边面边更)

解析 URL Params 为对象 let url http://www.domain.com/?useranonymous&id123&id456&city%E5%8C%97%E4%BA%AC&enabled; parseParam(url) /* 结果 { user: anonymous,id: [ 123, 456 ], // 重复出现的 key 要组装成数组&#xff0c;能被转成数字的就转成数字…

四【Servlet基础】文件配置及环境搭建(重要)

文章目录4.1 Servlet概念4.2 Servlet作用4.3 Servlet开发步骤4.3.1 搭建开发环境4.3.2 创建项目4.3.3 部署Servlet4.3.4 配置Servlet4.3.5 测试运行4.1 Servlet概念 &#xff08;1&#xff09;Servlet&#xff1a;Server Applet的简称&#xff0c;是运行在Web服务器端的Java程…

GDB无法debug的错误

GDB无法debug的错误 一、输出错误信息描述 Warning: opening /proc/PID/mem file for lwp 707.707 failed: No such file or directory (2) Warning: Cannot insert breakpoint 1. Cannot access memory at address 0x806950 二、解决方法 方法&#xff1a;修改 GDB 的二进…

spring之IoC注解(三)负责注入的注解

文章目录前言一、Value注解Product类spring配置文件测试程序运行结果二、Autowired与Qualifier注解1.创建OrderDao接口2.创建OrderDao接口实现类3.创建OrderService类4.配置文件5.测试程序6.运行结果三、Resource注解&#xff08;重要&#xff09;1、创建StudentDao接口2、创建…

皮带断裂识别检测系统 opencv

皮带断裂识别检测系统通过opencv深度学习yolo计算机视觉识别技术对皮带运行状态进行全天候实时监测&#xff0c;当识别到皮带断裂撕裂时立即抓拍告警存档。OpenCV-Python是一个Python绑定库&#xff0c;旨在解决计算机视觉问题。OpenCV-Python使用Numpy&#xff0c;这是一个高度…

LeetCode刷题复盘笔记—一文搞懂动态规划之392. 判断子序列问题(动态规划系列第三十八篇)

今日主要总结一下动态规划的一道题目&#xff0c;392. 判断子序列 题目&#xff1a;392. 判断子序列 Leetcode题目地址 题目描述&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&a…

08 LIN

基础知识 LIN的全称为Local Interconnect Network。LIN主要功能是为CAN总线网络提供辅助功能&#xff0c;应用场合有智能传感节点、自动车窗节点等。 硬件 特点 1.采用单主多从的组网方式&#xff0c;无CAN总线那样的仲裁机制&#xff0c;最多可连接16个节点&#xff08;1主…

大数据技术——HBase安装配置DDLDML操作

HBase文章目录1. HBase 安装1.1 HBase下载1.2 HBase安装1.3 HBase 初始配置2. 配置高可用并且群起集群2.1 HBase高可用2.2 群起集群2.3 进入HBase客户端3. DDL&DML操作3.1 DDL操作3.2 DML操作1. HBase 安装 1.1 HBase下载 HBase下载官方网站直达 选择自己需要的版本&…