Linux 开发与 Git 入门实践:从进度条小步伐到代码托管 ...

打印 上一主题 下一主题

主题 1921|帖子 1921|积分 5763

目录
一、Linux 进度条小步伐 
1. 行缓冲区概念 
  2. 进度条代码实现 
二、使用 Git 进行版本控制 
1. 安装 Git
2. 在 GitHub 创建项目 
提交代码改动 



在软件开发的旅程中,Linux 环境下的编程以及版本控制工具 Git 的使用是极为告急的技能。本文将带你一步步从创建一个简朴的 Linux 进度条小步伐,到使用 Git 进行代码管理并推送到 GitHub 上。
 
一、Linux 进度条小步伐
 



1. 行缓冲区概念
 



在深入进度条代码之前,先了解下行缓冲区的概念。在 C 语言中,尺度输出(stdout)存在行缓冲区机制。例如以下代码:
 
  1. c   
  2. #include <stdio.h>
  3. #include <unistd.h>
  4. int main() {
  5.     printf("hello Makefile\n");
  6.     sleep(3);
  7.     return 0;
  8. }
复制代码

 
 这里  printf  输出后会立刻显示在终端,因为  \n  会触发行缓冲区革新。但假如代码是:
 
  1. c   
  2. #include <stdio.h>
  3. #include <unistd.h>
  4. int main() {
  5.     printf("hello Makefile");
  6.     sleep(3);
  7.     return 0;
  8. }
复制代码

 
 此时输出不会立刻显示,而是在步伐结束或者缓冲区满等环境才会显示。要强制立刻显示,可以使用  fflush(stdout)  函数,如下:
 
  1. c   
  2. #include <stdio.h>
  3. #include <unistd.h>
  4. int main() {
  5.     printf("hello Makefile");
  6.     fflush(stdout);
  7.     sleep(3);
  8.     return 0;
  9. }
复制代码

 
 
2. 进度条代码实现
 


下面是一个简朴的进度条 C 语言代码实现:
 
  1. c   
  2. #include <unistd.h>
  3. #include <string.h>
  4. #include <stdio.h>
  5. int main() {
  6.     int i = 0;
  7.     char bar[102];
  8.     memset(bar, 0, sizeof(bar));
  9.     const char* lable="|/-\\\";
  10.     while(i <= 100 ) {
  11.         printf("[%-100s][%d%%][%c]\r", bar, i, lable[i%4]);
  12.         fflush(stdout);
  13.         bar[i++] = '#';
  14.         usleep(50000);
  15.     }
  16.     printf("\n");
  17.     return 0;
  18. }
  19.  
复制代码
  

 运行结果:
  

  调试需求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  命令,语法如下:
 
 
  
  1. git add [文件名]/.
复制代码

 假如要添加所有文件,可以使用  git add.  。

3. 提交改动到当地:使用  git commit  命令,语法如下:
 
  
  1. git commit -m "提交日志描述"
复制代码
 
这里的  -m  选项后面跟着提交日志,用来形貌本次改动的详细内容。
4. 同步到远端服务器(GitHub):使用  git push  命令,初次使用大概必要输入 GitHub 的用户名和暗码。假如不想每次都输入暗码,

可以参考 设置免暗码提交
git config --global user.name 'name' 
git config --global user.email 'email@com'


  
  1. git push
复制代码

 4. 使用 git log 查看提交历史
 

在使用 Git 进行版本控制的过程中, git log  是一个非常实用的命令,用于查看提交历史纪录。
 
基本用法
 
在项目标 Git 仓库目录下,直接运行  git log  命令,就可以看到从最近到最远的提交纪录,每条纪录包罗以下信息:
 
- 提交哈希值:一个唯一标识该次提交的字符串,用于精确指向某次提交。
 
- 作者:提交代码的作者信息。
 
- 日期:提交的时间。
 
- 提交日志:在  git commit  时使用  -m  选项填写的形貌信息。
 
例如:
 
  
  
  1. commit 65a89f30123456789abcdef0123456789abcdef01
  2. Author: Your Name <your_email@example.com>
  3. Date:   Mon May 1 12:00:00 2025 +0800
  4.     Add progress bar code
  5. commit 123456789abcdef0123456789abcdef0123456789a
  6. Author: Your Name <your_email@example.com>
  7. Date:   Sun Apr 30 18:00:00 2025 +0800
  8.     Initialize project structure
复制代码

 
 常用选项
 
-  --pretty=oneline :以单行形式展示提交纪录,只显示提交哈希值和提交日志,适合快速欣赏提交历史。
 
  
git log --pretty=oneline
 
 
示例输出:
 
  
  1. 65a89f30123456789abcdef0123456789abcdef01 Add progress bar code
  2. 123456789abcdef0123456789abcdef0123456789a Initialize project structure
复制代码

 
 
-  --graph :以图形化的方式展示提交历史,能清晰看出分支归并等环境。
 
 
  1. git log --graph
复制代码

 
 
示例输出(假设存在分支归并环境):
 
  1. *   commit 65a89f30123456789abcdef0123456789abcdef01
  2. |\  Merge: 1234567 9876543
  3. | | Author: Your Name <your_email@example.com>
  4. | | Date:   Mon May 1 12:00:00 2025 +0800
  5. | |
  6. | |     Merge branch'some_branch' into'main'
  7. | |
  8. | * commit 9876543210987654321098765432109876543210
  9. | | Author: Another Name <another_email@example.com>
  10. | | Date:   Sun Apr 30 20:00:00 2025 +0800
  11. | |
  12. | |     Update some code in some_branch
  13. | |
  14. * | commit 123456789abcdef0123456789abcdef0123456789a
  15. |/  Author: Your Name <your_email@example.com>
  16. |   Date:   Sun Apr 30 18:00:00 2025 +0800
  17. |
  18. |       Initialize project structure
复制代码

 
通过使用  git log  及其相关选项,我们可以方便地回顾项目标开发历史,了解每次代码改动的环境,在排查问题、追溯功能添加等场景中非常有用。
   git status  用于显示 Git 工作目录和暂存区状态:
 
- 追踪文件状态:能告知文件是修改、新增(未跟踪)还是已暂存状态。
 
- 辅助代码管理:在多人协作时可察觉冲突隐患;帮助梳理工作流,确保提交准确;还能与  git log  配合,辅助理解代码库历史与现状联系。
  

 
通过以上步骤,我们不但完成了一个简朴 Linux 进度条小步伐的编写,还学会了如何使用 Git 进行版本控制并将代码托管到 GitHub 上,同时掌握了查看提交历史的实用方法。希望这篇博客能对你在 Linux 开发和代码管理方面有所帮助。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表