day12:版本控制器

版本控制

使用到的命令:

ls -al查看当前目录下的文件及文件夹
mkdir新建目录
rm -rf递归强制删除文件夹

一、安装配置

1、下载地址 Git 2、初始配置 #用户名 git config --global user.name "自定义用户名"

#邮箱(公司的联系方式--追责) git config --global user.email "邮箱地址"

说明: - 安装好git后,第一步就需要初始化个人信息。 - 设置好后查询,检查是否配置成功,不加用户名或邮箱就代表查询

二、初始化本地仓库

1、版本库 用于跟踪项目代码的仓库(目录),每个本地仓库中会创建一个隐藏文件夹 .git 同级目录下做的所有操作都会被git监管。

2、初始化本地仓库 在普通文件夹下执行如下命令,可以将该文件夹初始化为本地仓库: git init

3、本地仓库的构成 - 工作区:存放代码的位置 - 版本库:工作区中.git文件夹,其中包含暂存区 和 分支区 - 暂存区:通过git add/rm命令执行后,操作保存的位置(类似于缓存区) - 分支区:是最终版本信息保存的位置,git commit 命令提交的信息都会存储在 分支区,通常版本库初始化后会默认创建一个本地分支(master) 也叫主分支。master最好不要删除。

工作区代码发生修改--git add(添加)-->暂存区--git commit(提交)-->分支区

三、版本管理

1、提交新文件

1-在工作区创建新文件 ​ 2-查看本地仓库的状态 ​ git status ​ 3-添加新建文件的状态到暂存区 ​ git add 文件名 ​ 4-将暂存区的状态提交到本地分支区 ​ git commit -m "备注信息"

2、修改文件

与提交新文件的流程步骤相同 ​

3、查看历史版本

#查看提交的详细日志信息 git log

#查看基本日志信息 git log --pretty=oneline

#查看详细的操作日志 git reflog

4、版本回滚

git reset --hard HEAD^ ​ ---或者--- ​ git reset --hard commitID ​ 说明: ​ - HEAD 头指针指向当前最新的代码(当前所在版本) ​ - ^ 版本回滚到最近一次提交(回跳一个版本) ​ - commitID: 执行commit时随机生成的id号,id号取前>=7位即可

5、代码撤销

#只撤销工作区的修改 git checkout -- <file>...

#撤销暂存区的状态 第一步:从暂存撤销回工作区 git reset HEAD <file>...

第二步:撤销工作区 git checkout -- <file>...

#已经提交到本地分支的只需要用版本回滚

6、删除文件

情况一:通过物理删除,利用git记录操作 ​ - rm -f 文件 ​ - git add/rm 文件... ​ - git commit -m "备注"

情况二:利用git的rm命令执行删除

git rm 文件 #删除文件并添加暂存

git commit -m "备注"

四、远程仓库

1、定义

如果需要将项目托管在支持git的服务中心时,要求服务中心能24小时运行,还可以提供其他的管理(用户,项目,用户组,权限)操作。

2、远程仓库分类

地址
Githubhttps://github.com国外
码云Gitee - 基于 Git 的代码托管和研发协作平台国内
极狐gitlab,gitblit私有

3、注册并新建远程仓库

创建的远程仓库一般就是项目名

创建远程仓库的配置项:

初始化仓库:

选择语言 -- 选择开发项目的主要语言(计算机语言)

gitignore --配置该文件的文件名 或文件夹将不会被git跟踪管理

开源许可 --apache 2.0

设置模板:

Readme文件 --项目的说明文件

选择分支模型:

没有特殊要求直接选择默认的master

4、远程仓库与本地仓库的关联

由于本地的git与远程仓库进行代码跟踪时,对数据的安全性有绝对性要求。 ​ 因此可以利用ssh协议完成数据传输的加解密过程。 ssh配置流程: ​ 本地:

1-在git bash上通过指令生成ssh的公钥和密钥(-t rsa表示加密算法)

ssh-keygen -t rsa -C "git初始化配置的邮箱地址"

2-进入用户目录下的.ssh文件夹

cd ~/.ssh/

说明:在文件夹中有两个文件idrsa(密钥)id rsa.pub(公钥)

密钥文件自己保存,不能对外暴露。公钥是配置到要进行交互的服务端(码云)。

3-在码云控制台配置公钥 控制台-设置-安全设置-ssh公钥-添加公钥 说明: 公钥标题可以自定义,公钥在git bash中查看id_rsa.pub文件 cat ~/.ssh/id_rsa.pub

仓库关联: 情况一:远程仓库已经存在,只需要将仓库拉取到本地并完成关联。 git clone git@gitee.com:用户名/仓库名.git

情况二:先有本地仓库,再关联远程仓库 1-先初始化本地仓库,项目根目录执行命令 git init

2-在远程创建一个名称与本地仓库同名的仓库
3-远程仓库关联#在本地添加一个名叫origin的远程仓库地址git remote add origin git@gitee.com:用户名/仓库名.git
​#将远程代码拉取到本地,并解决历史差异git pull origin master --allow-unrelated-histories#在第一次推送本地代码到远程仓库时可以添加-u参数git push -u origin master

五、集成git工具到idea编辑器

file->settings->versioncontrol->git

六、分支管理

1、查询本地所有分支 git branch 2、创建本地分支 git branch 分支名称

3、切换分支 git checkout 分支名称 4、创建并切换分支 git checkout -b 分支名称

5、合并分支 git merge 分支名 //快速合并(只保留一条master主分支) git merge --no-ff 分支名 //关闭快速合并(保留合并时的分支信息)

注意:合并分支时需要先切换到主分支。

七、代码合并冲突处理

如果有多个人修改了同一个文件会出现合并冲突。 ​ 删除特殊内容: ​ <<<<<<< HEAD ​ 原来的代码 ​ ===== ​ 准备合并的新代码

正在合并的分支

当处理完合并冲突后,需要完成一次提交。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索 Seata 分布式事务

Seata&#xff08;Simple Extensible Autonomous Transaction Architecture&#xff09;是阿里巴巴开源的一款分布式事务解决方案&#xff0c;旨在帮助开发者解决微服务架构下的分布式事务问题。它提供了高效且易于使用的分布式事务管理能力&#xff0c;支持多种事务模式&#…

ESLint 使用教程(四):ESLint 有哪些执行时机?

前言 ESLint 作为一个静态代码分析工具&#xff0c;可以帮助我们发现和修复代码中的问题&#xff0c;保持代码风格的一致性。然而&#xff0c;ESLint的最佳实践不仅仅在于了解其功能&#xff0c;更在于掌握其执行时机。本文将详细介绍ESLint在不同开发阶段的执行时机&#xff…

关于分治法左右区间单调遍历应该如何设计

阅读以下文章&#xff0c;首先至少要求通过一道分治法的题目或听过一道该类型的讲解。 对于分治的题目&#xff0c;想必你应该知道&#xff0c;通常我们是对于一个区间拆分两个部分&#xff0c;而最小子问题通常是只包含一个元素的区间数组。为了后续方便处理更大范围的区间&am…

【网络协议栈】网络层(上)网络层的基本理解、IP协议格式、网络层分组(内附手画分析图 简单易懂)

绪论​ “It does not matter how slowly you go as long as you do not stop.”。本章是自上而下的进入网络协议栈的第三个篇幅–网络层–&#xff0c;本章我将带你了解网络层&#xff0c;以及网络层中非常重要的IP协议格式和网络层的分片组装问题&#xff0c;后面将持续更新网…

利用AI制作《职业生涯规划PPT》,10分钟完成

职业生涯规划是大学生活中非常重要的一环。通过制定职业规划&#xff0c;你能够明确未来的职业目标、认清自身的优劣势&#xff0c;进而制定切实可行的计划&#xff0c;以便顺利踏上职业发展的道路。而制作一份精美的职业生涯规划PPT&#xff0c;能有效帮助你在面试、职业规划报…

FPGA高速设计之Aurora64B/66B的应用与不足的修正

FPGA高速设计之Aurora64B/66B的应用与不足的修正 Aurora IP协议的特点 首先基于网上找到的一些资料&#xff0c;来讲述下Aurora高速协议的特点与相关的应用。Aurora 协议在 2002 年由 Xilinx 公司首次提出&#xff0c;是由Xilinx提供的一个开源、免费的链路层串行传输通信协议…

vue2项目启用tailwindcss - 开启class=“w-[190px] mr-[20px]“ - 修复tailwindcss无效的问题

效果图 步骤 停止编译"npm run dev"安装依赖 npm install -D tailwindcssnpm:tailwindcss/postcss7-compat postcss^7 autoprefixer^9 创建文件/src/assets/tailwindcss.css&#xff0c;写入内容&#xff1a; tailwind base; tailwind components; tailwind utiliti…

Docker部署Nginx

1. 拉取Nginx镜像 1.1 选择指定版本或latest 在部署Nginx时&#xff0c;选择合适的镜像版本是至关重要的。Docker Hub上提供了Nginx的官方镜像&#xff0c;用户可以根据自己的需求选择使用特定版本的Nginx或者始终使用最新的latest标签。 版本选择的重要性&#xff1a;选择一…

WPF+MVVM案例实战与特效(二十八)- 自定义WPF ComboBox样式:打造个性化下拉菜单

文章目录 1. 引言案例效果3. ComboBox 基础4. 自定义 ComboBox 样式4.1 定义 ComboBox 样式4.2 定义 ComboBoxItem 样式4.3 定义 ToggleButton 样式4.4 定义 Popup 样式5. 示例代码6. 结论1. 引言 在WPF应用程序中,ComboBox控件是一个常用的输入控件,用于从多个选项中选择一…

ctfshow-web入门-反序列化(web271-web278)

目录 1、web271 2、web272 3、web273 4、web274 5、web275 6、web276 7、web277 8、web278 laravel 反序列化漏洞 1、web271 laravel 5.7&#xff08;CVE-2019-9081&#xff09; poc <?php namespace Illuminate\Foundation\Testing{use Illuminate\Auth\Generic…

hive数据查询语法

思维导图 基本查询 基本语法 SELECT [ALL | DISTINCT] 字段名, 字段名, ... FROM 表名 [inner | left outer | right outer | full outer | left semi JOIN 表名 ON 关联条件 ] [WHERE 非聚合条件] [GROUP BY 分组字段名] [HAVING 聚合条件] [ORDER BY 排序字段名 asc | desc…

分段式爬虫和数据采集有什么关系

今天有人问我&#xff1a;分段式爬虫和数据采集有什么关系。 我想了想&#xff0c;我说我认为分段式爬虫其实是数据采集的一种手段或者说一种具体的方法。 咱就说数据采集吧&#xff0c;那就是想办法把各种有用的数据从不同的地方收集过来。这里面就有很多种方式&#xff0c;而…

最新网盘资源搜索系统,电视直播,Alist聚合播放

项目乃是基于 Vue 与 Nuxt.js 技术打造的网盘搜索项目&#xff0c;持续开源并保持维护更新。其旨在让人人皆可拥有属于自己的网盘搜索网站。强烈建议自行部署 更新日志&#xff1a; tv播放 新增Alist源聚合播放 新增批量删除功能 新增博客功能 &#xff08;分支&#xff1…

从零开始使用Intel的AIPC使用xpu加速comfyui

Intel的AIPC使用xpu加速跑comfyui 环境安装python环境搭建驱动及oneAPI安装创建python环境验证环境是否生效 ComfyUI的安装下载、汉化comfyui下载checkpoint 测试使用xpu加速测试使用cpu执行测试 环境安装 python环境搭建 直接下载Anaconda 下载地址 安装好后&#xff0c;通…

关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细

目录 用户签名,初始化git git提交流程图 提交到本地库 版本穿梭 分支操作 分支合并冲突 团队协作 github的使用 推送代码 克隆 拉取代码 团队协作冲突 团队协作之分支管理 推送分支到分支&#xff1a; 拉去远程库分支到本地库&#xff1a; 本地删除远程分支&am…

Android Studio打包时不显示“Generate Signed APK”提示信息

Android Studio打包时&#xff0c;默认显示“Generate Signed APK”提示信息&#xff0c;如下图所示&#xff1a; 如果在打包时不显示“Generate Signed APK”提示信息&#xff0c;解决办法是&#xff1a; Android Studio菜单栏&#xff0c;“File->Settings->Appearan…

【Go】-gRPC入门

目录 什么是gRPC 从Hello开始的简单使用 proto server端 client端 Proto的语法介绍 定义一个消息类型 指定字段类型 分配标识号 指定字段规则 添加更多消息类型 保留标识符&#xff08;Reserved&#xff09; 从.proto文件生成了什么&#xff1f; 标量数值类型 默…

后端SpringBoot学习项目-用户管理-增删改查

最终代码结构 仓库地址 Entity文件 数据库表设计 entity层实现 文件创建 ● 创建entity文件夹 ● 在entity层创建Java类&#xff0c;名字为User (关键字不可使用) 代码实现 package com.example.drhtspringboot.entity;import com.baomidou.mybatisplus.annotation.IdT…

网络管理之---3种网络模式配置

目标&#xff1a; 了解几个概念&#xff1a; 1.什么是IP&#xff1f;什么是IP地址&#xff1f; 2.什么是桥接、NAT、仅主机模式 3.端口&#xff1f; 4.什么是网络接口命名规则 5.网络管理器 IP&#xff1a;指网络之间互联的协议&#xff0c;是TCP/IP 体系中的网络协议 I…