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

Git入门学习笔记

        Git 是一个非常强大的分布式版本控制工具

        在下载好Git之后,鼠标右击就可以显示 Git Bash 和 Git GUI,Git Bash 就像是在电脑上安装了一个小型的 Linux 系统!

1. 打开 Git Bash

2. 设置用户信息(这是非常重要的

        git config --global user.name "输入要设置的名字"

        git config --global user.email "输入要设置的邮箱"

查看配置信息

        git config --global user.name 

        git config --global user.email

3. 为常用的指令配置别名

        有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

        1. 打开用户目录,创建 .bashrc 文件(注意,部分windows系统不允许我们创建以点开头的文件,可以使用命令行工具)

        打开 Git Bash ,执行 touch ~/.bashrc ,touch 类似于linux系统下的创建文件,~ 波浪号代表当前的根目录

获取本地仓库

        要使用 Git 对我们的代码进行版本控制,首先要先创建本地仓库

        1. 在电脑任意的位置创建一个空目录(例如 Test)作为我们的本地 Git 仓库。(可以使用命令行 touch ~/.Test,也可以直接在windows系统下右击创建文件)

        2. 进入这个目录中,点击右键打开 Git Bash 窗口

        3.  执行命令 git init

        4. 如果创建成功后可在文件下看到隐藏的 .git 目录

基本操作指令

        Git 工作目录下(这里简单说一下什么叫做工作目录,在之前创建的本地仓库中,除了 .git 文件之外的其他所有创建的文件都叫做工作目录)对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化。

        使用如下命令来控制状态之间的切换:

        1. git add        (工作区  -->  暂存区)

        1. git commit        (暂存区  -->  本地仓库)

查看修改的状态(status)

        作用:查看修改的状态:暂存区,工作区

        命令形式:git status

添加工作区到暂存区

        git add

提交暂存区到本地仓库

        git commit -m "注释内容"

查看提交日志(简单来说就是查看一个文件的修改历史)

        git log [option]

        option

                --all 显示所有分支

                --pretty=oneline 将提交信息显示为一行

                --abbrev-commit 使得输出的commitld更简短

                --graph 以图的形式显示

版本回退

        命令形式:git reset --hard commitID

                commitID 可以使用 git -log 或 git log 查看 (这里说一下如何在 命令行中进行复制粘贴,在没有进行特殊设置之前,选中即意味着复制,按下鼠标的滚轮,意味着进行粘贴,绝不会 ctrl + cv)

        如何查看已经删除的记录?

                git reflog

                这个指令可以看到已经删除的提交记录

分支

        几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线。

        git branch 命令用来查看有哪些分支

        git branch + 分支名  即可用来创建另一个分支

        git checkout  切换分支

        git checkout -b 分支名  创建并切换到新的分支上

        git merge 分支名称(通常都是合并到master分支上)

        git branch -d b1 删除分支时,需要做各种检查

        git branch -D b1 不做任何检查,强制删除

解决冲突

        当不同分支同时修改同一行代码或者数据的时候,就会产生冲突,在合并分支的时候,Git 并不知道到底应该去执行哪个分支,此时,Git 就会将这个问题留给开发者。

        此时开发者就需要手动去解决冲突:

                1. 手动去处理文件冲突的地方

                2. 将解决完冲突的文件加入暂存区(add)

                3. 提交到仓库(commit)

开发中分支的使用原则与流程

        几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改,开发新的功能,以免影响开发主线。

        master 分支:线上主分支

        develop 分支:开发的主要分支,最终合并到 master 分支上进行项目程序的上线(合并完之后一般不进行删除)

        feature 分支:分支的研发任务,完成后合并到 develop 分支(合并完成后一般删除掉)

 Git 远程仓库

        常用的托管服务(远程仓库)

        通过之前的学习,我们已经知道了 Git 存在两种类型的仓库,即本地仓库和远程仓库。那么如何去搭建 Git 远程仓库呢?我们可以借助互联网上提供的一些代码管理服务来实现,其中比较常用的有 GitHub,码云,GitLab等

        gitHub(https://github.com)

        码云(https://gitee.com)

        GitLab(https://about.gitlab.com)

首先自己创建远程仓库:

        git remote add origin git@gitee.com:cabk_xiao/git_test.git(这一命令行的意思就是说:remote add 远程添加到仓库 git@gitee.com:cabk_xiao/git_test.git ,并且设置名字为 origin)

        git remote 命令用于查看已经连接的远程仓库

        git push origin master 用于将本地仓库推送到远程仓库(这样一来本地仓库的代码就会被推送到远程仓库中)

在推送到远端的同时和远端分支建立了关联关系:

        --set--upstream 推送到远端的同时并且建立起和远端分支的关联关系

        git push --set-upstream origin master

        此命令表示当前分支已经和远端分支建立了关联,此后使用的时候可以省略分支名和远端名。

本地分支和远程分支的关联关系

        查看关联关系的时候我们可以使用:git branch -vv 命令

从远程仓库克隆(这个命令是我们平时使用最方便的)

        所谓克隆就是:当其他程序员将代码公开到 GitHub ,码云 ,GitLab 下时,我们可以直接去使用,通过克隆命令直接克隆远程仓库到本地

        git clone 远程仓库路径 本地目录

        ag. git clone https://gitee.com/czbk_zhang/git_test.git git-test(通过这样一个路径,就可以实现将远程仓库他人的代码克隆到本地进行使用)

 从远端仓库中拉取和抓取

        抓取命令:git fetch [remote name] [branch name]

                抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

        拉取命令:git pull [remote name] [branch name]

                拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch + merge

相关文章:

Git入门学习笔记

Git 是一个非常强大的分布式版本控制工具! 在下载好Git之后,鼠标右击就可以显示 Git Bash 和 Git GUI,Git Bash 就像是在电脑上安装了一个小型的 Linux 系统! 1. 打开 Git Bash 2. 设置用户信息(这是非常重要的&…...

⭐每天一道leetcode:27.移除元素(简单;vector)

⭐今日份题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…...

如何处理Android内存泄漏和性能优化

处理Android内存泄漏和性能优化是一个复杂的过程,涉及到对应用的深入理解和良好的编程习惯。以下是一些关键的步骤和建议: 1. **理解内存泄漏的本质**: - 内存泄漏(Memory Leak)发生在程序中,当不再需要…...

应用方案 | D722 9MHz,轨对轨I/O CMOS运放,低噪声、低电压、低功耗运放,应用广泛

D722是低噪声、低电压、低功耗运放,应用广泛。D722具有9MHz的高增益带宽积,转换速率为8.5V/μs,静态电流为1.7mA(5V电源电压)。 D722具有低电压、低噪声的特点,并提供轨到轨输出能力,D722的最大…...

小程序常用样式和组件

常用样式和组件 1. 组件和样式介绍 在开 Web 网站的时候: 页面的结构由 HTML 进行编写,例如:经常会用到 div、p、 span、img、a 等标签 页面的样式由 CSS 进行编写,例如:经常会采用 .class 、#id 、element 等选择器…...

《Redis 设计与实现》读书概要

注: 《Redis 设计与实现》一书基于 Redis 2.9 版本编写,部分内容已过时,过时之处本文会有所说明。本文为读书笔记,部分简单和日常使用较少的知识点未记录。原书网页版地址 https://redisbook.com/ 一、底层数据结构 SDS(Simple Dy…...

Docker之数据卷自定义镜像

文章目录 前言一、数据卷二、自定义镜像 前言 Docker提供了一个持久化存储数据的机制,与容器生命周期分离,从而带来一系列好处: 总的来说Docker 数据卷提供了一种灵活、持久、可共享的存储机制,使得容器化应用在数据管理方面更加…...

Docker技术概论(4):Docker CLI 基本用法解析

Docker技术概论(4) Docker CLI 基本用法解析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:http…...

【JAVA重要知识 | 第五篇】暴打Java8新特性—(Lambda、方法引用、Stream流、函数式接口、Date Time API、Optional类)

文章目录 5.Java8新特性5.1新特性列表5.2Lambda 表达式5.2.1函数式思想5.2.2举例(1)方式一:创建对象(2)方式二:匿名内部类(3)方式三:Lambda 5.2.3Lambda表达式的标准格式…...

Docker Swarm全解析:实现微服务高可用与故障转移的秘密武器

🐇明明跟你说过:个人主页 🏅个人专栏:《Docker入门到精通》 《k8s入门到实战》🏅 🔖行路有良友,便是天堂🔖 目录 一、基本概念和介绍 1、Docker Swarm 是什么,它与 …...

编码规范(前端)

文章目录 1. 文档说明1.1 编制说明1.2 名词解释 2.前端研发规范2.1 HTML编码规范2.1.1 文档类型2.1.2 语言2.1.3 元数据2.1.4 资源加载2.1.5 页面标题2.1.6 编码风格2.1.7 标签2.1.8 属性2.1.9 语义化 2.2 CSS编码规范2.2.1 文件引用2.2.2 命名-组成元素 知识点 1. 文档说明 1…...

【JavaEE进阶】部署Web项目到Linux服务器

文章目录 🍃前言🍀什么是部署🌲环境配置🚩数据准备🚩程序配置⽂件修改 🎄构建项目并打包🎋上传Jar包到服务器,并运行🚩上传Jar包🚩运行程序🚩开放端口号 &…...

就业班 2401--3.1 Linux Day9--文件查找和压缩

一、文件查找与打包压缩 grep: 文件内容过滤 [rootqfedu.com ~]# grep root /etc/passwd #从/etc/passwd文件中过滤root字段 grep ^root root$ root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin 查找命令 [rootqfedu.com ~]# which ls ali…...

「滚雪球学Java」:JDBC(章节汇总)

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!&#xf…...

RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构

💡本篇内容:RT-DETR改进RepVGG结构:简单但功能强大的卷积神经网络架构 💡🚀🚀🚀本博客 改进源代码改进 适用于 RT-DETR 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,RT-DETR专属 应部分读者要求,新增一篇RepVGG 论文理论部分 + 原…...

C#进阶高级语法之LINQ :Lambda 表达式

C# 中的 LINQ (Language Integrated Query) 提供了一种声明性的数据查询和操作方法,它允许开发人员对集合、数据库等数据源进行查询和操作,而不需要编写复杂的循环和手动编码。Lambda 表达式与 LINQ 紧密相关,它提供了一种简洁的方式来定义匿…...

react hook: useCallback

useCallback的主要使用场景在于优化性能,并确保当传递回调函数给子组件时,子组件不会因为父组件的重渲染而重新创建函数。 使用场景 1.当你需要将回调函数传递给子组件时,使用useCallback可以确保子组件在重新渲染时不会不必要地重新创建函数…...

java面试(jvm)

JVM内存模型 细分Eden: java类加载过程?双亲委派机制?一个对象从加载到JVM,再到被GC清除过程? JAVA类加载器:AppClassLoader - ExtClassLoader - BootStrapClassLoader。每种类加载器都有他自己的加载目录…...

自动化测试摸索:python+selenium+pytest(持续更新.....)

一、环境搭建 1、python 安装 下载链接:Python Releases for Windows | Python.org 自己选择合适的版本下载 当下载完毕时,找到该安装程序:python-3.12.2-amd64.exe文件,双击启动安装向导。 为了防止C:盘文件因系统故障或者无…...

C++惯用法之RAII思想: 资源管理

C编程技巧专栏:http://t.csdnimg.cn/eolY7 目录 1.概述 2.RAII的应用 2.1.智能指针 2.2.文件句柄管理 2.3.互斥锁 3.注意事项 3.1.禁止复制 3.2.对底层资源使用引用计数法 3.3.复制底部资源(深拷贝)或者转移资源管理权(移动语义) 4.RAII的优势和挑战 5.总…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...