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

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十一)-git(3)

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。

文章目录

前言

一、git

二、git基本命令

三、作业

总结


前言

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。


提示:以下是本篇文章正文内容,下面案例可供参考

一、git

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。

Git是一种分布式版本控制系统,每个开发者都可以在本地拥有完整的代码仓库,不必依赖中央服务器。这样的设计使得团队成员可以在没有网络连接的情况下继续工作,提高了开发的灵活性和效率。

Git在分支管理方面表现出色。创建、合并和切换分支非常快速和高效,这为团队的协同开发和并行工作提供了便利。分支的使用使得开发者可以独立开发新功能或修复bug,而不会影响主线代码,最后再将其合并回主分支。

综上所述,版本控制系统是现代软件开发不可或缺的工具,而分布式版本控制系统具有更多的优势,因其灵活性和高效性而成为首选。Git作为最流行的分布式版本控制系统之一,拥有强大的功能和便利的特性,是众多开发团队的选择。

二、git基本命令

 将远程的branch_name分支拉取到本地 

git checkout -t origin/branch_name

 将云端的内容同步到本地

git pull

 

将dev4分支和master分支合并

 将本地的dev4分支删掉,将云端的dev4分支删掉

 

此时我们本地比云端多了一个版本,同时要让本地与云端同步一下。

 


也可以让云端的分支对应本地别的分支,先创建一个新的分支dev5

 将当前分支推送到远程仓库

将本地的dev5分支删掉,此时我们的云端就多了一个分支dev5

 

将云端的dev5分支跟本地的当前分支合并

此时再将本地的上传到云端的master

 

将云端的dev5分支删除


此时,我们在本地创建一个新的分支,然后修改read.txt文件并添加到暂存区

 此时,我们再修改一下read.txt文件,那么此时工作区和暂存区都发生了修改。

 此时服务器崩了,我们又不想将当前内容提交到版本库。

将工作区和暂存区中尚未提交的修改存入栈中

git stash

 查看栈中所有元素

git stash list

此时,工作区和暂存区就没有东西了。 


 新创建一个分支dev7,并提交到版本库

回到本地master,将dev7分支和master合并,并将dev7分支删除

 

将栈顶存储的修改恢复到当前分支,同时删除栈顶元素 

git stash pop


通常我们一般不在master分支开发,我们创建一个dev分支,然后云端也要有一个dev分支,同时另一个小伙伴通过ssh连接服务器。

紧接着将服务器的公钥添加进云端。(在.ssh/id_rsa.pub中)

将项目克隆到服务器中

在服务器上创建一个分支dev,然后将云端的dev分支对应到服务器的dev分支,再将云端的分支拉取到本地的分支

将远程的branch_name1分支与本地的branch_name2分支对应

git branch --set-upstream-to=origin/branch_name1 branch_name2

如果小伙伴在服务器开了一个dev分支对read.txt文件进行修改并commit,然后你也在本地开了dev分支进行修改read.txt文件进行commit;紧接着小伙伴git push后,那么云端的dev分支就会变成小伙伴修改的版本,你再git push之后就会发生冲突,那么此时就需要你手动修改冲突,修改后就可以commit并git push了。此时云端的dev分支就会更新为你处理后的分支。

三、作业

创建好作业后,先进入文件夹/home/acs/homework/lesson_5/,然后:(0) 在当前目录下创建文件夹homework,并将homework目录配置成git仓库。后续作业均在homework目录下操作;

初始化仓库

git init
git config --global user.name "xxx"
git config --global user.email "xxx"

(记得在云端添加自己的公钥)
(1) 创建文件readme.txt,内容包含一行:111;


将修改提交一个commit;


(2) 在readme.txt文件末尾新增一行:222;
将修改提交一个commit;


(3) 创建文件夹:problem1和problem2;
创建文件problem1/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834813/;


创建文件problem2/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834819/;


将修改提交一个commit;


(4) 删除文件夹problem2;
创建文件夹problem3;
创建文件problem3/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834841/;
将readme.txt中最后一行222删掉,然后添加一行333;
将修改提交一个commit;


(5) 在https://git.acwing.com/上注册账号并创建仓库,仓库名称为homework;
将本地git仓库上传到AC Git云端仓库;


(6) 创建并切换至新分支dev;
在readme.txt文件中添加一行444;
将修改提交一个commit;
将dev分支推送至AC Git远程仓库;


(7) 切换回master分支;
在readme.txt文件中添加一行555;
将修改提交一个commit;


(8) 将dev分支合并到master分支;
手动处理冲突,使readme文件最终内容包含4行:111、333、555、444;
将修改提交一个commit;


(9) 将master分支的版本库push到AC Git云端仓库;


登录myserver服务器(4. ssh作业中配置的服务器);
创建并清空文件夹:~/homework/lesson_5/;
将AC Git云端仓库clone到~/homework/lesson_5/中;


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关文章:

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十一)-git(3)

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开…...

全面解析 TypeScript 泛型的二三事

2024年了相信大家都已经在日常开发的过程中使用上了 TypeScript 了。TypeScript 增强了代码可靠性和可维护性,确保减少运行时错误并提高开发人员的工作效率。 TypeScript 通过类型声明 使得 javascript 拥有了强类型校验。而泛型的是类型声明中最重要的一环&#x…...

单/多线程--协程--异步爬虫

免责声明:本文仅做技术交流与学习... 目录 了解进程和线程 单个线程(主线程)在执行 多线程 线程池 协程(爬虫多用) 假异步:(同步) 真异步: 爬虫代码模版 异步-爬虫 同步效果--19秒 异步效果--7秒 了解进程和线程 ​ # --------------------> # ------> # …...

android pdf框架-11,查看图片

前10篇文章,9章关于pdf的,pdf解析后,里面也是有各种图片,于是利用pdf的view来展示图片,似乎也是个不错的想法. android手机中的图片查看功能,有的可以展示,有的不能.比如华为,荣耀对大体积的png是可以显示的,小米是不显示,只有缩略图. 一张png50m大,比如清明上河图,原图是tif…...

【CSS】深入浅出弹性布局

CSS的弹性布局(Flexbox)是一种用于在容器中沿着一维方向(水平或垂直)来布局、对齐和分配容器内项目空间的有效方式。它旨在提供一个更加有效的方式来布局、对齐和分配容器中项目的空间,即使它们的大小未知或是动态变化…...

医院挂号系统小程序的设计

管理员账户功能包括:系统首页,个人中心,患者管理,医生管理,专家信息管理,科室管理,预约信息管理,系统管理 微信端账号功能包括:系统首页,专家信息&#xff0…...

广州外贸建站模板

Yamal外贸独立站wordpress主题 绿色的亚马尔Yamal外贸独立站wordpress模板,适用于外贸公司建独立站的wordpress主题。 https://www.jianzhanpress.com/?p7066 赛斯科Sesko-W外贸建站WP主题 适合机械设备生产厂家出海做外贸官网的wordpress主题,红橙色…...

KDP数据分析实战:从0到1完成数据实时采集处理到可视化

智领云自主研发的开源轻量级Kubernetes数据平台,即Kubernetes Data Platform (简称KDP),能够为用户提供在Kubernetes上的一站式云原生数据集成与开发平台。在最新的v1.1.0版本中,用户可借助 KDP 平台上开箱即用的 Airflow、AirByte、Flink、K…...

【人工智能】-- 智能机器人

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏: 专业知识 文章目录 🍉引言 🍉机器人介绍 🍈机器人硬件 🍍机械结构 🍍传感器 🍍控…...

Android广播机制

简介 某个网络的IP范围是192.168.0.XXX,子网 掩码是255.255.255.0,那么这个网络的广播地址就是192.168.0.255。广播数据包会被发送到同一 网络上的所有端口,这样在该网络中的每台主机都将会收到这条广播。为了便于进行系统级别的消息通知&…...

SQL FOREIGN KEY

SQL FOREIGN KEY 简介 SQL(Structured Query Language)是用于管理关系数据库管理系统(RDBMS)的标准编程语言。在SQL中,FOREIGN KEY是一个重要的概念,用于建立和维护数据库中不同表之间的关系。本文将详细介绍SQL FOREIGN KEY的概念、用途、以及如何在SQL中实现和使用FO…...

绘唐3最新版本哪里下载

绘唐3最新版本哪里下载 绘唐最新版本下载地址 推文视频创作设计是一种通过视频和文字的形式来进行推广的方式,可以通过一些专业的工具来进行制作。 以下是一些常用的小说推文视频创作设计工具: 视频剪辑软件:如Adobe Premiere Pro、Fina…...

[ES6] 箭头函数

JavaScript 是一种广泛使用的编程语言,随着其发展和演变,引入了很多新的特性来提高代码的可读性和开发效率。其中一个重要的特性就是 ES6(ECMAScript 2015)中引入的箭头函数(Arrow Function)。箭头函数不仅…...

BiLSTM模型实现

# 本段代码构建类BiLSTM, 完成初始化和网络结构的搭建 # 总共3层: 词嵌入层, 双向LSTM层, 全连接线性层 # 本段代码构建类BiLSTM, 完成初始化和网络结构的搭建 # 总共3层: 词嵌入层, 双向LSTM层, 全连接线性层 import torch import torch.nn as nn# 本函数实现将中文文本映射为…...

linux内核源码学习所需基础

1.面向对象的思想,尤其是oopc的实现方式。 2.设计模式。 这两点需要内核源码学习者不仅要会c和汇编,还要接触一门面向对象的语言,比如c++/java/python等等任意一门都行,起码要了解面向对象的思想。 另外li…...

Java并发编程-AQS详解及案例实战(上篇)

文章目录 AQS概述AQS 的核心概念AQS 的工作原理AQS 的灵活性使用场景使用指南使用示例AQS的本质:为啥叫做异步队列同步器AQS的核心机制“异步队列”的含义“同步器”的含义总结加锁失败的时候如何借助AQS异步入队阻塞等待AQS的锁队列加锁失败时的处理流程异步入队的机制总结Ree…...

第11章 规划过程组(二)(11.8排列活动顺序)

第11章 规划过程组(二)11.8排列活动顺序,在第三版教材第391页; 文字图片音频方式 第一个知识点:主要输出 1、项目进度网络图 如图11-20 项目进度网络图示例 带有多个紧前活动的活动代表路径汇聚,而带有…...

DP学习——观察者模式

学而时习之,温故而知新。 敌人出招(使用场景) 多个对象依赖一个对象的状态改变,当业务中有这样的关系时你出什么招? 你出招 这个时候就要用观察者模式这招了! 2个角色 分为啥主题和观察者角色。 我觉…...

如何利用GPT-4o生成有趣的梗图

文章目录 如何利用GPT-4o生成有趣的梗图一、引言二、使用GPT-4o生成梗图1. 提供主题2. 调用工具3. 获取图片实际案例输入输出 三、更多功能1. 创意和灵感2. 梗图知识 四、总结 如何利用GPT-4o生成有趣的梗图 梗图,作为互联网文化的一部分,已经成为了我们…...

深入理解 KVO

在 iOS 中,KVO(Key-Value Observing)是一个强大的观察机制,它的底层实现相对复杂。KVO 利用 Objective-C 的动态特性,为对象的属性提供观察能力。 KVO 的底层实现 1. 动态子类化 当一个对象的属性被添加观察者时&am…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

go 里面的指针

指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...