目录
一、Linux 进度条小步伐
1. 行缓冲区概念
2. 进度条代码实现
二、使用 Git 进行版本控制
1. 安装 Git
2. 在 GitHub 创建项目
提交代码改动
在软件开发的旅程中,Linux 环境下的编程以及版本控制工具 Git 的使用是极为告急的技能。本文将带你一步步从创建一个简朴的 Linux 进度条小步伐,到使用 Git 进行代码管理并推送到 GitHub 上。
一、Linux 进度条小步伐
1. 行缓冲区概念
在深入进度条代码之前,先了解下行缓冲区的概念。在 C 语言中,尺度输出(stdout)存在行缓冲区机制。例如以下代码:
- c
- #include <stdio.h>
- #include <unistd.h>
- int main() {
- printf("hello Makefile\n");
- sleep(3);
- return 0;
- }
复制代码
这里 printf 输出后会立刻显示在终端,因为 \n 会触发行缓冲区革新。但假如代码是:
- c
- #include <stdio.h>
- #include <unistd.h>
- int main() {
- printf("hello Makefile");
- sleep(3);
- return 0;
- }
复制代码
此时输出不会立刻显示,而是在步伐结束或者缓冲区满等环境才会显示。要强制立刻显示,可以使用 fflush(stdout) 函数,如下:
- c
- #include <stdio.h>
- #include <unistd.h>
- int main() {
- printf("hello Makefile");
- fflush(stdout);
- sleep(3);
- return 0;
- }
复制代码
2. 进度条代码实现
下面是一个简朴的进度条 C 语言代码实现:
- c
- #include <unistd.h>
- #include <string.h>
- #include <stdio.h>
- int main() {
- int i = 0;
- char bar[102];
- memset(bar, 0, sizeof(bar));
- const char* lable="|/-\\\";
- while(i <= 100 ) {
- printf("[%-100s][%d%%][%c]\r", bar, i, lable[i%4]);
- fflush(stdout);
- bar[i++] = '#';
- usleep(50000);
- }
- printf("\n");
- return 0;
- }
-
复制代码
运行结果:
调试需求makefile(创作中心-CSDN创作中心-CSDN)
代码解释:
- 首先界说了一个字符数组 bar 用来存储进度条的显示内容,并用 memset 初始化为 0 。
- while 循环中,每次循环根据当进步度 i 格式化输出进度条信息,包括已完成部门(用 # 表示)、百分比以及旋转的符号(从 lable 中选取)。
- fflush(stdout) 用于强制革新缓冲区,保证输出即时显示。
- usleep(50000) 让步伐暂停一段时间,模拟进度推进的过程。
二、使用 Git 进行版本控制
1. 安装 Git
在 Linux 体系(以 CentOS 为例)中,使用以下命令安装 Git:
(root环境下)
(平常用户集权)
对于其他体系,比如 Ubuntu 可以使用 apt-get install git 命令安装。
2. 在 GitHub 创建项目
注册账号
访问 GitHub 官网,按照提示进行注册,过程中必要进行邮箱校验。
创建项目
1. 登录乐成后,进入个人主页,点击左下方的 New repository 按钮新建项目。
2. 在新页面中输入项目名称(留意名称不能重复,体系会主动校验),可选择填写项目形貌,设置项目为公开(Public)或私有(Private),还可以选择是否初始化 README 文件等。设置完成后,点击 Create repository 按钮确认创建。
3. 在创建好的项目页面中复制项目标链接,链接有 HTTPS 和 SSH 两种形式,可按需复制,以备接下来进行下载。
3. 使用 Git 命令行管理代码
下载项目到当地
创建好一个放置代码的目录,然后在终端中使用以下命令克隆项目到当地:
git clone [url]
这里的 url 就是刚刚在 GitHub 上创建好的项目标链接。
克隆完成后目录中的仓库文件包罗以下内容
对于.git及远端仓库,.git ignore为默认不提交文件后缀
可以进行增删,若想不添加p后缀的test.p,只必要在文件中加*.p
提交代码改动
1. 将代码放到下载好的目录中:把编写好的进度条代码文件(比如 processBar.c 等)移动到克隆下来的项目目录中。
2. 告知 Git 必要管理的文件:使用 git add 命令,语法如下:
假如要添加所有文件,可以使用 git add. 。
3. 提交改动到当地:使用 git commit 命令,语法如下:
这里的 -m 选项后面跟着提交日志,用来形貌本次改动的详细内容。
4. 同步到远端服务器(GitHub):使用 git push 命令,初次使用大概必要输入 GitHub 的用户名和暗码。假如不想每次都输入暗码,
可以参考 设置免暗码提交 。
git config --global user.name 'name'
git config --global user.email 'email@com'
4. 使用 git log 查看提交历史
在使用 Git 进行版本控制的过程中, git log 是一个非常实用的命令,用于查看提交历史纪录。
基本用法
在项目标 Git 仓库目录下,直接运行 git log 命令,就可以看到从最近到最远的提交纪录,每条纪录包罗以下信息:
- 提交哈希值:一个唯一标识该次提交的字符串,用于精确指向某次提交。
- 作者:提交代码的作者信息。
- 日期:提交的时间。
- 提交日志:在 git commit 时使用 -m 选项填写的形貌信息。
例如:
- commit 65a89f30123456789abcdef0123456789abcdef01
- Author: Your Name <your_email@example.com>
- Date: Mon May 1 12:00:00 2025 +0800
- Add progress bar code
- commit 123456789abcdef0123456789abcdef0123456789a
- Author: Your Name <your_email@example.com>
- Date: Sun Apr 30 18:00:00 2025 +0800
- Initialize project structure
复制代码
常用选项
- --pretty=oneline :以单行形式展示提交纪录,只显示提交哈希值和提交日志,适合快速欣赏提交历史。
git log --pretty=oneline
示例输出:
- 65a89f30123456789abcdef0123456789abcdef01 Add progress bar code
- 123456789abcdef0123456789abcdef0123456789a Initialize project structure
复制代码
- --graph :以图形化的方式展示提交历史,能清晰看出分支归并等环境。
示例输出(假设存在分支归并环境):
- * commit 65a89f30123456789abcdef0123456789abcdef01
- |\ Merge: 1234567 9876543
- | | Author: Your Name <your_email@example.com>
- | | Date: Mon May 1 12:00:00 2025 +0800
- | |
- | | Merge branch'some_branch' into'main'
- | |
- | * commit 9876543210987654321098765432109876543210
- | | Author: Another Name <another_email@example.com>
- | | Date: Sun Apr 30 20:00:00 2025 +0800
- | |
- | | Update some code in some_branch
- | |
- * | commit 123456789abcdef0123456789abcdef0123456789a
- |/ Author: Your Name <your_email@example.com>
- | Date: Sun Apr 30 18:00:00 2025 +0800
- |
- | Initialize project structure
复制代码
通过使用 git log 及其相关选项,我们可以方便地回顾项目标开发历史,了解每次代码改动的环境,在排查问题、追溯功能添加等场景中非常有用。
git status 用于显示 Git 工作目录和暂存区状态:
- 追踪文件状态:能告知文件是修改、新增(未跟踪)还是已暂存状态。
- 辅助代码管理:在多人协作时可察觉冲突隐患;帮助梳理工作流,确保提交准确;还能与 git log 配合,辅助理解代码库历史与现状联系。
通过以上步骤,我们不但完成了一个简朴 Linux 进度条小步伐的编写,还学会了如何使用 Git 进行版本控制并将代码托管到 GitHub 上,同时掌握了查看提交历史的实用方法。希望这篇博客能对你在 Linux 开发和代码管理方面有所帮助。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |