Git入门教程及代码同步到Github(Linux嵌入式)
、本流程背景基于我的项目关注流程即可Git入门教程 - 就像游戏存档一样简单很好在继续项目之前我们先学会使用Git。想象一下你玩RPG游戏打Boss前存个档 →git commit打输了读档重来 →git checkout想知道上次存档是啥 →git logGit就是代码世界的存档系统现在我们要把写好的代码存起来这样以后万一改坏了还能找回来。# 1. 初始化Git仓库只需要做一次 git init # 输出Initialized empty Git repository... # 2. 查看当前状态 git status # 你会看到红色的main.c表示Git还不认识它 # 3. 把main.c加到暂存区准备存档 git add main.c # 4. 再次查看状态 git status # 现在main.c变成绿色了 # 5. 正式提交创建第一个存档点 git commit -m 完成了程序框架能识别write/read/help命令 # 6. 查看提交历史 git log --oneline # 你会看到一行记录比如abc1234 完成了程序框架...解释Git命令git init初始化创建.git隐藏文件夹你的存档库git status查看哪些文件被修改了git add把文件放到待提交区git commit正式提交创建存档点-m后面跟提交信息说明这次改了啥# 创建README.md文件 touch README.md # 用vim编辑 vim README.mdgithub常常能看见一个readme我们也不能落下输入以下内容# 命令行日记本 这是我的第一个Linux C项目用来学习 - C语言基础 - 文件操作 - Git版本控制 ## 如何编译 gcc main.c -o diary ## 如何使用 ./diary write - 写日记 ./diary read - 读日记 ./diary help - 显示帮助 ## 作者 你的名字把README也存到Gitgit add README.md git commit -m 添加README说明文件整体结果# 看看你现在有哪些文件 ls -la # 应该看到 # -rw-rw-r-- 1 你的名字 你的名字 xxx Mar 9 xx:xx main.c # -rwxrwxr-x 1 你的名字 你的名字 xxxx Mar 9 xx:xx diary # -rw-rw-r-- 1 你的名字 你的名字 xxx Mar 9 xx:xx README.md # drwxrwxr-x 8 你的名字 你的名字 xxx Mar 9 xx:xx .git # 看看Git历史 git log --oneline # 应该看到两次提交 # xxxxxxx 添加README说明文件 # xxxxxxx 完成了程序框架能识别write/read/help命令接下来我们将代码同步到GitHub上第一步注册GitHub账号如果没有打开浏览器访问 GitHub官网点击右上角的Sign up按钮按照提示填写邮箱地址密码用户名完成邮箱验证登录你的GitHub账号第二步在GitHub上创建一个空仓库登录后在页面右上角找到号按钮点击选择New repository填写仓库信息Repository name仓库名输入diary_project和你本地项目同名方便记忆Description描述可选我的第一个Linux C项目 - 命令行日记本Public / Private选择Public公开或Private私有都可以新手选Public方便展示关键的一步不要勾选任何初始化选项❌ 不要勾选 Add a README file❌ 不要勾选 Add .gitignore❌ 不要勾选 Choose a license原因你的本地已经有代码了如果远程仓库初始化了文件会和本地产生冲突点击Create repository按钮创建成功后你会看到一个新页面上面显示着你的仓库地址。复制这个地址有两种格式HTTPS格式https://github.com/你的用户名/diary_project.gitSSH格式gitgithub.com:你的用户名/diary_project.git第三步配置SSH密钥推荐以后不用输密码为什么用SSH2021年起GitHub禁止用密码登录用SSH可以一劳永逸以后推送代码都不用输密码。生成SSH密钥打开终端输入# 1. 生成SSH密钥对用你的邮箱替换 ssh-keygen -t ed25519 -C 你的邮箱example.com你会看到Generating public/private ed25519 key pair. Enter file in which to save the key (/home/你的用户名/.ssh/id_ed25519):一直按回车直到结束;查看并复制公钥# 2. 查看公钥内容 cat ~/.ssh/id_ed25519.pub屏幕上会显示一大串字符以ssh-ed25519开头以你的邮箱结尾。用鼠标选中并复制右键复制。添加到GitHub打开GitHub网站点击右上角你的头像→Settings在左侧菜单找到SSH and GPG keys点击New SSH key按钮Title给这个密钥起个名字比如我的笔记本Key把刚才复制的内容粘贴进去点击Add SSH key测试连接# 3. 测试SSH连接 ssh -T gitgithub.com如果看到Hi 你的用户名! Youve successfully authenticated, but GitHub does not provide shell access.说明配置成功第四步将本地仓库关联到远程GitHub现在回到你的项目目录# 1. 进入你的日记本项目 cd ~/my_workspace/diary_project # 2. 查看当前远程连接情况应该还没有 git remote -v # 应该没有输出 # 3. 添加远程仓库使用SSH地址如果你配置了SSH的话 git remote add origin gitgithub.com:你的用户名/diary_project.git # 4. 再次查看确认添加成功 git remote -v # 应该显示 # origin gitgithub.com:你的用户名/diary_project.git (fetch) # origin gitgithub.com:你的用户名/diary_project.git (push)第五步将本地代码推送到GitHub# 1. 确保你的主分支名称是 mainGitHub默认用main git branch -M main # 2. 将本地代码推送到远程 git push -u origin main如果一切顺利你会看到类似这样的输出Enumerating objects: 10, done. Counting objects: 100% (10/10), done. Delta compression using up to 8 threads Compressing objects: 100% (8/8), done. Writing objects: 100% (10/10), 1.2 KiB | 1.2 MiB/s, done. Total 10 (delta 0), reused 0 (delta 0) To github.com:你的用户名/diary_project.git * [new branch] main - main Branch main set up to track remote branch main from origin.第六步验证上传成功打开浏览器刷新你的GitHub仓库页面https://github.com/你的用户名/diary_project你应该能看到main.c文件README.md文件你的提交历史至此我们完成了git入门和GitHub同步接下来继续学习

相关新闻

盘点JDK14的新特性

盘点JDK14的新特性

Oracle秉承每六个月发布一个JDK新版本的节奏,JDK14于2020年3月正式发布,作为非长期支持(LTS)版本,它虽不适合直接用于生产环境的长期部署,但带来了16个JEP(JDK Enhancement Proposals&#xff0…

2026/5/17 11:56:03 阅读更多 →
三菱R系列PLC及触摸屏程序:包含标准功能块、机器人控制、手自动程序、报警程序、模拟量程序及多...

三菱R系列PLC及触摸屏程序:包含标准功能块、机器人控制、手自动程序、报警程序、模拟量程序及多...

三菱R系列PLC及触摸屏程序,各种标准功能块,与雅马哈机器人控制程序,含手自动程序,报警程序,模拟量程序,同步轴轴定位程序,扫码枪程序,串口485/232/TCP通信等功能块程序等。在工业自动…

2026/5/17 3:45:59 阅读更多 →
口碑好的AI销售机器人哪家专业

口碑好的AI销售机器人哪家专业

很多开发者和AI落地从业者都会问:“口碑好的AI销售机器人哪家专业?”其实,“专业”的核心不在于品牌,而在于技术架构的落地能力——尤其是大模型赋能下的NLP技术是否能解决销售场景中的真实痛点。本文将从技术维度拆解专业AI销售机…

2026/5/17 11:56:00 阅读更多 →

最新新闻

Kiran-Flameshot命令行参数大全:CLI配置和脚本自动化

Kiran-Flameshot命令行参数大全:CLI配置和脚本自动化

Kiran-Flameshot命令行参数大全:CLI配置和脚本自动化 【免费下载链接】kiran-flameshot Powerful and simple to use screenshot software with built-in editor with advanced features. 项目地址: https://gitcode.com/openeuler/kiran-flameshot 前往项目…

2026/7/3 15:37:38 阅读更多 →
CVE申请新路径:VulDB等CNA快速获取漏洞编号实战指南

CVE申请新路径:VulDB等CNA快速获取漏洞编号实战指南

1. 项目概述:CVE生态中的“非官方”申请路径 在网络安全领域,CVE(通用漏洞与暴露)编号是漏洞世界的“身份证”。长久以来,大家都有一个根深蒂固的印象:申请CVE,就得找MITRE。这就像过去办证只能…

2026/7/3 15:37:38 阅读更多 →
研一快速产出AI论文:利用AI工具与开源资源实现高效科研

研一快速产出AI论文:利用AI工具与开源资源实现高效科研

这次我们来看一个研究生同学普遍关心的问题:导师放养,研一如何快速完成一篇毕业论文,甚至冲击SCI?这不是一个具体的软件项目,而是一套结合AI工具与系统化科研方法的实战策略。核心目标很明确:在有限的时间和…

2026/7/3 15:31:36 阅读更多 →
戴尔笔记本风扇终极控制指南:DellFanManagement让你告别噪音与过热烦恼

戴尔笔记本风扇终极控制指南:DellFanManagement让你告别噪音与过热烦恼

戴尔笔记本风扇终极控制指南:DellFanManagement让你告别噪音与过热烦恼 【免费下载链接】DellFanManagement A suite of tools for managing the fans in many Dell laptops. 项目地址: https://gitcode.com/gh_mirrors/de/DellFanManagement 还在为戴尔笔记…

2026/7/3 15:31:36 阅读更多 →
utdnsmasq源码解析:Rust实现的DNS缓存机制

utdnsmasq源码解析:Rust实现的DNS缓存机制

utdnsmasq源码解析:Rust实现的DNS缓存机制 【免费下载链接】utdnsmasq utdnsmasq is a refactoring of dnsmasq. 项目地址: https://gitcode.com/openeuler/utdnsmasq 前往项目官网免费下载:https://ar.openeuler.org/ar/ utdnsmasq是openEuler项…

2026/7/3 15:29:34 阅读更多 →
智驾不是自动驾驶:L2级辅助驾驶的本质与安全边界

智驾不是自动驾驶:L2级辅助驾驶的本质与安全边界

1. 项目概述:一场被误读的技术概念纠偏“智驾”不是“自动驾驶”——这句话从公安部官网发布后,迅速登上各大平台热搜。但很多人点进去只扫了一眼标题就划走,以为又是官媒在喊口号、打预防针。其实这短短十个字背后,是一次对行业术…

2026/7/3 15:27:29 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻