【面向就业的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)是一种用于在容器中沿着一维方向(水平或垂直)来布局、对齐和分配容器内项目空间的有效方式。它旨在提供一个更加有效的方式来布局、对齐和分配容器中项目的空间,即使它们的大小未知或是动态变化…...
医院挂号系统小程序的设计
管理员账户功能包括:系统首页,个人中心,患者管理,医生管理,专家信息管理,科室管理,预约信息管理,系统管理 微信端账号功能包括:系统首页,专家信息࿰…...
广州外贸建站模板
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…...
Graphormer部署教程:/etc/supervisor/conf.d/graphormer.conf配置解析
Graphormer部署教程:/etc/supervisor/conf.d/graphormer.conf配置解析 1. 项目介绍 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等…...
零基础友好:快马AI为你定制专属visual studio code图文安装与上手教程
作为一名从零开始学习编程的新手,我深刻体会到安装开发环境是很多人遇到的第一个"拦路虎"。最近在InsCode(快马)平台上发现了一个特别适合新手的Visual Studio Code安装教程项目,它完全解决了我的困惑。下面分享我的学习笔记,希望能…...
OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具
OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 问题诊断:黑苹果配…...
Linux配置静态ip地址和Oracle VM VirtualBox导入/导出虚拟机Centos7
导入虚拟机选择管理 - 导入虚拟电脑找到自己的虚拟机位置修改内存大小,默认虚拟机电脑位置,MAC地址等导入后点击设置如下图:修改网络-网 -- 卡1,其他基本不需要修改桥接网络选好网卡接入网线;设置好网络以后使用命令重…...
技术揭秘:QtScrcpy如何实现跨平台Android投屏与低延迟控制
技术揭秘:QtScrcpy如何实现跨平台Android投屏与低延迟控制 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScr…...
爱毕业aibiye等8款智能应用显著改善了论文撰写体验,编程与学术研究流程更加顺畅
文章总结表格(工具排名对比) 工具名称 核心优势 aibiye 精准降AIGC率检测,适配知网/维普等平台 aicheck 专注文本AI痕迹识别,优化人类表达风格 askpaper 快速降AI痕迹,保留学术规范 秒篇 高效处理混AIGC内容&…...
GLM-4.1V-9B-Base部署教程:NVIDIA驱动版本兼容性验证与降级方案
GLM-4.1V-9B-Base部署教程:NVIDIA驱动版本兼容性验证与降级方案 1. 模型概述 GLM-4.1V-9B-Base是智谱开源的一款视觉多模态理解模型,专注于图像内容识别与分析任务。该模型具备以下核心能力: 图片内容描述与场景理解图像主体识别与定位颜色…...
Qwen3.5-9B惊艳案例:上传X光片→识别骨折位置→标注解剖结构→生成诊断报告草稿
Qwen3.5-9B惊艳案例:上传X光片→识别骨折位置→标注解剖结构→生成诊断报告草稿 1. 医疗影像分析的革命性突破 想象一下这样的场景:一位急诊医生面对堆积如山的X光片,需要在短时间内做出准确诊断。传统方法需要医生逐张查看、标注异常部位、…...
编程技巧:模式切换程序框架
目录 1.模式切换程序框架 2.实现思路 3.模式切换程序框架 4.模式切换每个模式模块化流程 5.代码 Mode1.c Mode2.c Mode3.c Global.c main.c 1.模式切换程序框架 Init:进入模式前,执行一遍,用于初始化工作 Loop:执行完In…...
WebAgent :基于 MCP 协议打造的智能应用“超级路由器”
本文由云软件体验技术团队李锦浩原创。 在 NextSDK 介绍文章里,我们聊了怎么用 opentiny/next-sdk 给前端页面快速接入智能化能力——几行代码嵌进去,用户扫个二维码,手机上就能弹出一个 Remoter 对话窗口,直接用自然语言远程操控…...
