C++ (week9):Git

news2025/3/5 9:17:42

文章目录

    • 1.git介绍
    • 2.git安装
    • 3.git配置
    • 4.获取自己的SSH公钥
    • 5.新建仓库
    • 6.邀请开发者
    • 7.克隆远程仓库到本地
    • 8.在本地进行开发
    • 9.本地项目推送到远程仓库
    • 10.git的工作原理
    • 11.分支管理
      • (1)合作开发的方式
      • (2)分支管理
      • (3)分支合并的原理、冲突管理
    • 12.git 与 svn 的区别
    • 13.设置alias别名
    • 14.版本号标签
    • 15.多用户操作不同的文件
    • 16.强行覆盖
      • (1)远程强行覆盖本地仓库
      • (2)本地强行覆盖远程仓库
    • 17.解决git冲突问题

1.git介绍

在这里插入图片描述


2.git安装

sudo apt install git

3.git配置

在Gitee、GitHub上注册账号,配置 user name 和email。家目录下会生成.gitconfig文件。

在这里插入图片描述

在这里插入图片描述


4.获取自己的SSH公钥

1.生成公钥:

ssh-keygen -t rsa -C "具体的邮箱"
然后三次回车

2.复制公钥:.ssh目录下的id_rsa.pub里就是公钥信息

cat ~/.ssh/id_rsa.pub

3.粘贴公钥:
gitee,设置,安全设置,SSH公钥,粘贴进去

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


5.新建仓库

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


6.邀请开发者

在这里插入图片描述

在这里插入图片描述


7.克隆远程仓库到本地

1.获取仓库的地址
在这里插入图片描述


2.执行命令,将项目以文件夹形式 克隆到本地

git clone  仓库地址

8.在本地进行开发

项目基本架构的文件夹
在这里插入图片描述


9.本地项目推送到远程仓库

1.若有.git隐藏目录,证明该项目使用了git进行管理。
在这里插入图片描述


2.常用git命令
在这里插入图片描述

(1)提交

git add .
git commit -m "姓名: 操作内容"

在这里插入图片描述

(2)查看仓库的状态

git status

(3)把操作推送到远程仓库

git push origin master

origin是别名,在.git/config中设置

(4)查看git日志

git log

(5)版本回退

git reset --hard HEAD^  //回退到上一个版本
git reset --hard 版本号哈希值(一部分也行),版本可以前进和后退

(6)误删文件的恢复:工作区删除,但没提交 (commit)

git checkout -- .

10.git的工作原理

在这里插入图片描述

①工作区
在这里插入图片描述

②暂存区:.git/index
在这里插入图片描述

③版本库
生成版本号,用哈希值表示。它们以链表方式进行存储。

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


示例:

在这里插入图片描述

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


11.分支管理

(1)合作开发的方式

1.每一个成员都操作一个不同的文件,只使用master分支
在这里插入图片描述


(2)分支管理

在这里插入图片描述

git merge --no-ff -m "提交描述" develop  //合并分支

在这里插入图片描述

切换分支、合并分支
在这里插入图片描述


(3)分支合并的原理、冲突管理

1.如果本地与远程修改的不是同一个文件,则先pull,拉取远程更新本地的其他文件,再push。
2.如果本地与远程修改的是同一个文件,则会冲突。先将本地冲突文件拷贝到其他无关目录下,再pull合并远程。再对比本地冲突文件和远程有什么区别,人工合并代码后,再push。


12.git 与 svn 的区别

git相当于在本地也有一个版本控制库,远程仓库也有一个版本控制库。


13.设置alias别名

在这里插入图片描述


14.版本号标签

git tag v1.0		     //给当前分支的当前版本,打上v1.0的标签
git tag v1.1  versionno	 //给某个版本号(哈希值)的分支打上v1.1的标签
git tag 			//查看标签的情况
git tag -d v1.0		//删除本地标签

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

删除标签
在这里插入图片描述


15.多用户操作不同的文件

git pull

修改文件之前,先与远程仓库同步(pull),再推送(push)

在这里插入图片描述


版本冲突

git pull --force origin master:master

在这里插入图片描述

操作同一个文件,容易与远程冲突
在这里插入图片描述


解决冲突:cp本地修改的文件到其他位置 备份,然后用远程仓库强制覆盖本地仓库,再把备份的修改文件mv回来

git pull --force origin master:master

16.强行覆盖

(1)远程强行覆盖本地仓库

git pull --force origin master:master

(2)本地强行覆盖远程仓库

git push --force origin master:master

17.解决git冲突问题

解决git冲突是一门很深的学问。后续慢慢补充。
上文中15也提到了 冲突时,用 备份 + 强行覆盖的方式,先pull再push,解决冲突。

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

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

相关文章

Ubuntu iso 镜像下载 步骤截图说明

Ubuntu镜像下载,在这个网址: Enterprise Open Source and Linux | Ubuntu 步骤如下图所示: 1、登入网址 2、点击Get Ubuntu 3、点击Download Ubuntu Desktop 后续点击Downloadload 24.04 LTS直接下载就行 如果需要下载其它版本&#xf…

0 知识的补充

目录 矢量运算 矢量加法 矢量减法 矢量点乘 矢量叉乘 矢量混合积 坐标系 直角坐标系 柱坐标系 球坐标系 ​​​​​​​ 矢量运算 矢量加法 矢量减法 矢量点乘 矢量叉乘 ​​​​​​​ 矢量混合积 坐标系 直角坐标系 柱坐标系 ​​​​​​​ 球坐标系

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均包含…

【密码学】分组密码

文章目录 分组密码的模式分组密码与流密码模式明文分组与密文分组 ECB模式ECB定义ECB特点对ECB模式的攻击改变分组顺序攻击 CBC模式CBC定义初始化向量IVCBC特点对CBC模式的攻击对初始向量进行反转攻击填充提示攻击 CFB模式CFB定义对CFB模式的攻击重放攻击 OFB模式OFB定义CFB模式…

模板初阶【C++】

模板的作用 模板的主要作用是实现泛型编程,泛型编程即编写与类型无关的通用代码,是代码复用的一种手段 模板就是泛型编程的基础。 例 我们经常使用的交换函数就可以使用泛型编程来进行编写,这样可以大大减少重复的代码 一般编写方式 可以…

MyBatis拦截器(Interceptor)的理解与实践

文章目录 1. 什么是MyBatis拦截器?2. 拦截器的基本原理3. 编写自定义拦截器3.1 示例:实现SQL执行时间统计拦截器3.2 配置拦截器 4. 实战应用场景5. 总结 🎉欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博…

可视化大屏开发系列——页面布局

页面布局是可视化大屏的基础,想要拥有一个基本美观的大屏,就得考虑页面整体模块的宽高自适应,我们自然就会想到具有强大灵活性flex布局,再借助百分比布局来辅助。至此,大屏页面布局问题即可得到解决。 可视化大屏开发系…

三大交易所全面恢复 IPO 申请

6月21日晚间,北交所受理了3家企业的IPO申请,这是北交所时隔3个月之后恢复IPO受理。6月20日晚间,沪深交易所各受理了1家IPO申请,这是沪深交易所时隔半年后再次受理IPO。这也意味着,三大交易所IPO受理全部恢复。 6月21日…

Ubuntu-基础工具配置

基础工具配置 点击左下角 在弹出界面中点击 以下命令都是在上面这个界面执行(请大家注意空格) 命令输入完后,回车键就是执行,系统会提示输入密码(就是你登录的密码) 1.安装net工具 :(ifconfi…

代码-功能-python-爬取博客网标题作者发布时间

环境: python 3.8 代码: # 爬取博客园内容 # https://www.cnblogs.com/import re from lxml import etree import requests import json import threading from queue import Queue import pymysql import timeclass HeiMa:def __init__(self):# 请…

2小时极速入门 TypeScript-慕课网 笔记

TS文档:https://www.tslang.cn/docs/handbook/modules.html 一,什么是TS 注:Typescript无法在浏览器中运行 ,所以需要编译器,将TS转变为JS 问:TS运行这么麻烦,为什么还要有TS? 答:TS强类型 1,规…

【大疆pocket3】到手后5个必改初始设置关键点(上)

【大疆pocket3】到手后5个必改初始设置关键点(上) 一,简介二,必改关键点2.1 视频拍摄格式2.2 竖拍选择2.3 开拍后息屏设置2.4 摇杆转速设置2.5 提示音设置为静音 一,简介 本文记录大疆pocket3上手后5个必改关键点&…

独立看门狗窗口开门狗

独立看门狗 接线图:按键用于阻塞喂狗。独立看门狗&窗口开门狗接线一样。 第一步,是开启时钟了,只有这个LSI时钟开启了独立看门狗才能运行,所以初始化独立看门狗之前,LSI必须得开启,但是这个开启LSI的…

System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败

System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败 解决方法: 首先%oracle_home%/network/admin下的sqlnet.ora文件,把SQLNET.AUTHENTICATION_SERVICES (NTS)加个 # 注释掉就好了

稳态与敏态业务阶段

稳态业务就是比如你登录学校的图书馆教务处这些业务系统 用户数量和数据基本上不会发生太大的变化 业务系统的更新也不是很频繁,比较方便资源的采购 敏态业务就是比如我开发一个应用上线了,我不知道有多少用户和数量,无法预估 这就没办法…

计算机专业:昔日万金油,明日科技潮头的弄潮儿

高考后的十字路口:计算机专业,依旧闪耀吗? 随着2024年高考的尘埃落定,数百万青春洋溢的脸庞再次凝视着未来的迷雾,试图在繁星点点的专业宇宙中找到那颗最亮的星——计算机科学与技术。长久以来,计算机专业…

自动驾驶辅助功能测试用例表格(续2)

自动驾驶辅助功能测试用例表格(续) 用例编号测试类型测试项目测试描述车辆准备车辆状态车辆场景车辆执行可变因素具体信号状态通过标准预期标准通过/失败TJA-001功能测试交通拥堵辅助 (TJA)测试TJA系统在交通拥堵情况下的自动跟车和保持车道功能TJA系统已…

高性能并行计算华为云实验四:快排算法实验

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建快排算法源码 3.2 makefile的创建与编译 3.3 主机文件配置与运行监测 四、实验结果与分析 4.1 结果一及分析 4.2 结果二及分析 五、实验思考与总结 5.1 实验思考 5.2 实验总结 END~ 一、实验目的…

吴恩达机器学习 第三课 week2 推荐算法(上)

目录 01 学习目标 02 推荐算法 2.1 定义 2.2 应用 2.3 算法 03 协同过滤推荐算法 04 电影推荐系统 4.1 问题描述 4.2 算法实现 05 总结 01 学习目标 (1)了解推荐算法 (2)掌握协同过滤推荐算法(Collabo…

正则表达式之三剑客grep

正则表达式匹配的是文本内容,linux的文本三剑客 都是针对文本内容 grep 过滤文本内容 sed 针对文本内容进行增删改查 awk 按行取列 文本三剑客都是按行进行匹配。 grep grep 的作用就是使用正则表达式来匹配文本内容 选项: -m …