Linux进度条小程序与git

news2024/11/24 14:22:22

git

  • Linux进度条小程序
    • 缓冲区问题
    • 回车换行
    • 倒计时小程序
    • 进度条程序
  • git
    • 什么是git
    • git的发展史
    • git的基本操作
      • 创建仓库与本地仓库建立联系
      • Linux中git提交代码的三板斧
      • git基础指令

Linux进度条小程序

缓冲区问题

在这里插入图片描述
在这里插入图片描述
编译运行后发现延迟了两秒才出现数字,我们都知道程序中的代码执行是从上到下,sleep虽然是让系统休眠两秒,但为什么在printf函数的后方也能影响输出时间?
这是因为输入的内容先放进了缓冲区,没有显示出来,等程序结束了才刷新缓冲区显示出数据来。
如果想让这串数字立马显示出来可以这样写:
在这里插入图片描述
fflush(stdout)是立刻刷新缓冲区的意思,这里就会立刻将缓冲区的数字显示出来,然后等两秒钟这个程序才会结束。
在这里插入图片描述
这样也是可以的,因为后面的换行是放进行缓冲区,这会将包括 \n 之前的都立即刷新。

回车换行

其实回车和换行并不是一个东西:
回车:\r
换行:\n
回车换行:\r\n
回车是回到这一行的头部,换行是换到下一行,我们在按键盘上面按回车健其实是进行了回车换行,每一次回车都会换到下一行的开头去,你看键盘上面回车图标画的是先下,后左的箭头,就是先换行,后回车。
在语言层面 \n 就是回车换行,因为编译器对这里进行了特殊处理。

倒计时小程序

在这里插入图片描述
注意输出格式,2d是因为第一个输入的是10,计算机只知道1和0,认为是两个字符,所以后续的输入需要用2d才能完全覆盖掉第二个字符0
在这里插入图片描述
这样就完成了。

进度条程序

首先要清楚我们要将这个进度条设计成什么样子:
在这里插入图片描述
第一个[ ]中的是进度条,第二个[ ]中的是进度条百分比,第三个[ ]中的是读取进度条的时候总会有一个东西转来转去。
在这里插入图片描述
这次分三个文件,一个主函数文件,一个定义进度条函数的文件,一个头文件。
这里是makefile文件中的编译与清理操作。
在这里插入图片描述
然后来实现进度条的代码:
在这里插入图片描述
主要利用了缓冲区。
请添加图片描述

git

什么是git

我们使用软件的时候会发现软件都有各种版本,想象一下如果某一个软件更新之后还不如上一个版本,如果没有保留历史版本会是一个非常糟糕的情况,这个时候就需要历史版本和各种改进的版本,这样方便总结经验也方便发生更新不如上一个版本的情况。
那么全世界都有这种需要代码保留历史版本的情况,如果能够有一个专门负责管理个人或者某个公司项目的历史版本的软件就好了,这里叫做版本控制器,也就是现在的git。
那么为了更加方便不需要客户端只需要一个网站就能进行操作,也就是现在的gitee与github。

git的发展史

Linux之父——林纳斯·本纳第克特·托瓦兹,当时每天都会接受来自全国各地提交的代码,然后进行合并代码(也就是CV),因为这个工作很繁琐,所以就找到了一个版本控制器,但这个收费的,与Linux社区的理念不符合,但是这个公司的老板因为欣赏Linux这种开源行为所以就让Linux社区免费使用。
但是Linux社区的一些黑客和网络工程师因为好奇这个版本管理器就尝试破解这个版本控制器,结果被发现了,这个老板就不再让Linux社区免费实用了,最后林纳斯·本纳第克特·托瓦兹自己用2~3周写了一个版本控制器然后开源了。
这个版本控制器就是git

git的基本操作

创建仓库与本地仓库建立联系

我常用的是Gitee.
首先要在这里新建仓库。
在这里插入图片描述
在这里插入图片描述
复制这个之后,在你Linux机器上输入指令:

git clone 你的gitee网址

这个操作是把远端仓库拉过来。
在这里插入图片描述
输入上面的指令会让你输入gitee的账户和密码,输入正确之后成功拉取远端仓库。
进入自己的仓库看看都有什么:
在这里插入图片描述
.git是本地仓库,本质就是一个目录,目录的内容是.git+其他内容。
上传到远端仓库就是通过本地仓库同步到gitee中。
隐藏文件.gitignore的作用就很大了,凡是在这个文件中后缀所对应的文件都无法上传到gitee:
在这里插入图片描述
LICENSE是开源许可证。
最后两个是英文和中文的说明文档。

Linux中git提交代码的三板斧

注意:当你第一次安装git时会提示你配置你的用户名和邮箱。
将提示的内容复制粘贴然后该双引号中的内容就就可以了。
这里将上面写的进度条代码上传试一下:
首先在本地仓库添加一个新目录,将进度条代码放进这个目录中
在这里插入图片描述
添加:git add .
这个指令是将新增目录添加到本地仓库里(临时仓库)。
或者是你指定的文件。
提交:git commit -m ‘日志’
在这里插入图片描述
只是本地仓库有代码,远端并没有。
推送:git push
在这里插入图片描述
这里显示推送到远端成功了。
在这里插入图片描述
添加成功了。

git基础指令

查看当前状态:

git status

他能告诉你当前目录有哪些目录被修改过,哪些被重命名过,哪些没被管理等等:
在这里插入图片描述
在这里插入图片描述
提交之后就发生了变化。
在这里插入图片描述
最后进行推送,然后回到上级目录进行查看:
在这里插入图片描述
本地和远端的信息时同步的。
对仓库中的内容进行重命名

git mv 被更改文件的名字 更改之后的名字

在这里插入图片描述
这个是我之前推送了一个test文件
之后添加,提交,推进。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里修改成功了。

同步远端和本地仓库数据
如果在远端仓库中修改了我们提交的内容,本地再想提交新内容的时候会发生冲突,这时候就要靠这一行命令解决问题:

git pull

在这里插入图片描述
在这里插入图片描述
这是git push之后的报错。
在这里插入图片描述
使用git pull之后也是一堆报错,不过这里退出就可以了。
然后再进行git push就可以了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
紫色地方是我再远端新加的内容。
删除远程仓库中的内容

git rm 你要删除文件名

然后提交,推送。
在这里插入图片描述
在这里插入图片描述

记录git使用的日志:

git log

在这里插入图片描述
越往上越靠近你最近操作的时间。

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

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

相关文章

83-137-springcloud-stream-nacos-sentinel

83-137-springcloud-stream-nacos-sentinel: Stream 常见MQ(消息中间件):ActiveMQ,RabbitMQ,RocketMQ,Kafka Cloud Stream:屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程…

WSL_02 WSL配置强大的 zsh

文章目录1 ZSH简介2 安装zsh2.1 准备阶段2 基础安装3 zsh更换主题3.1 使用vscode 打开 .zshrc4 自定义支持插件4.1 修改配置5 安装第三方插件autosuggestion5. 1 下载参考1 ZSH简介 zsh是Linux命令行界面,可以为帮助我们自定义配置命令行窗口,并且具有许…

vue引入iconfont/引入svg原理

前言 本文撰写的初衷是为了向组内成员推行使用svg sprites的方式管理项目的图标,由于实际工作中很多项目仍然采用font class的方式,这样不自觉带来一个痛点. 当项目一期开发完毕后,过段时间进入到项目二期。新增的开发需求不可避免的会增加新的图标,而font class需要全量打包…

Redis数据结构及命令详解

个人博客地址: http://xiaohe-blog.top/ 文章目录0. 简述1. 通用命令1.1 keys1.2 del1.3 type1.4 exists1.5 expire1.6 ttl2. string 类型2.1 set2.2 get2.3 mset2.4 mget2.5 setnx2.6 setex2.4 incr2.5 incrby2.6 incrbyfloat3. hash 类型3.1 hset3.2 hget3.3 hmse…

互联网时代,云计算的6大特征

1 云计算的定义 云计算是目前业内的热点概念,它以开放的标准和服务为基础,以互联网为中心,提供安全、快速、便捷的数据存储和网络计算服务,让互联网这片“云”上的各种计算机共同组成数个庞大的数据中心及计算中心。它可以被看成…

Observability:我们该选 Beats 还是 Elastic Agents 来采集数据?

除了 Logstash 之外,Elastic 提供了两种主要的方式来向 Elasticsearch 发送数据: 我们可以选择直接把数据从 Beats 发送至 Elasticsearch。当然我们也可以通过 Logstash 更进一步处理再发送至 Elasticsearch。 另外一种方式是使用 Elastic Agents 来发送…

[附源码]Nodejs计算机毕业设计基于的二手车交易平台Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

[附源码]Python计算机毕业设计Django课室预约系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Jmeter简单入门

背景 我们项目中一般测试接口都是用vscode中的REST Client插件(推荐好用)或者的话postman(适合写一些脚本和文件的上传) 但是他们都有一个不太行的功能,那就是多线程并发测试,其他市面上的什么apipost也都是不支持,网…

带你在Ubuntu 18.04上编译Linux内核

【推荐阅读】 一文了解Linux上TCP的几个内核参数调优 一文剖析Linux内核中内存管理 分析linux启动内核源码 一、环境说明 编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本。 请确保磁盘空间足够&am…

Phoenix 对 Hbase 中表的映射

目录1)表的关系2)Hbase中创建表 test3)视图映射4)表映射数字类型说明1)表的关系 默认情况下, HBase 中已存在的表,通过 Phoenix 是不可见的。 如果要在 Phoenix 中操作 HBase 中已存在的表&…

java计算机毕业设计基于安卓Android的车位服务管理APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把车位服务管理与现在网络相结合,利用java技术建设车位服务管理APP,实现车位服务管理的信息化。则对于进一步提高车位服务管理发展,丰富车位服务管理经验能起到不少的促进作用。 车位服务管理APP能够通过互联网得到广泛的、…

Python 爬虫库 urllib 使用详解!

一、Python urllib库 Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。 Python3 的 urllib。 urllib 包 包含以下几个模块: urllib.request - 打开和读取 URL。 urllib.error - 包含 urllib.request 抛出的异常。 urllib.parse - 解析 …

自学了半个月python,感觉没用,怎么办?

本人从零基础开始学习python,已有两年之久,虽然一路上磕磕绊绊,但学习了一段时间之后,日常很多繁琐的工作,在python的助力下确实得到了很好的解决,工作效率也大大提高。 回到问题上来,自学了半…

Windows11如何通过附近共享发送文件,附近共享传输文件到电脑

Windows11如何通过附近共享发送文件?2018年,微软推出了名为Nearear Share(附近共享)的新功能。Near share是一种在PC之间传输文件的新方式,类似Airdrop的功能,只需要开启蓝牙和WiFi就能分享照片/影片/文件给…

[附源码]Python计算机毕业设计Django快转二手品牌包在线交易系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Android OpenGL ES 学习(八) –矩阵变换

OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投影 Android OpenGL ES 学习(五) – 渐变色 Android OpenGL ES 学习(六) – 使用…

UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)

UML图讲解 简介:本文讲解UML图的各种情况下的含义。 简介 百度百科: UML-Unified Modeling Language统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开…

【实时数仓】动态分流的实现源码(反序列化器、配置表、广播流、业务流)

文章目录一 根据MySQL的配置表,动态进行分流1 自定义反序列化器(1)需求分析(2)代码实现2 从配置表中读取数据(1)自定义CDC采集的反序列化器(2)使用FlinkCDC读取配置表数据…

事务的隔离级别

目录 1.1 数据并发问题 1.2 SQL中的四种隔离级别 1.3 MySQL支持的四种隔离级别 1.4 如何设置事务的隔离级别 MySQL是一个 客户端/服务器 架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每 个客户端与服务器连接…