From d6fe6647603c9ea8ec1e26e22767dc1dbc1f6ab6 Mon Sep 17 00:00:00 2001 From: Limited-time Date: Sun, 7 Dec 2025 23:07:18 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8F=90=E4=BA=A4lesson2=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignments/lesson2/Limited-time.md | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 assignments/lesson2/Limited-time.md diff --git a/assignments/lesson2/Limited-time.md b/assignments/lesson2/Limited-time.md new file mode 100644 index 0000000..14f4232 --- /dev/null +++ b/assignments/lesson2/Limited-time.md @@ -0,0 +1,39 @@ +# Git工具安装与使用报告 + +## 学员GitHub用户名: Limited-time + +## 1. Git安装过程 + +(在此处详细描述Git的安装过程,包括使用的操作系统、安装方法等) + +1. 打开浏览器,访问 Git 官网(https://git-scm.com/),点击 “Download” 下载对应操作系统(Windows)的安装包。 +2. 双击安装包,按默认选项一路点击 “Next” 完成安装。 +3. 安装完成后,打开电脑的 “命令提示符”(Windows),输入命令:git --version + +## 2. 遇到的问题及解决方法 + +暂无 + +## 3. 版本信息截图 + +(在此处插入执行`git --version`命令后的截图) + +![image-20251207225727814](Limited-time.assets/image-20251207225727814.png) + +## 4. Git命令使用过程总结 + +(在此处总结使用Git命令的过程,包括但不限于以下操作: +- git clone: 克隆远程仓库到本地 +- git add: 添加文件到暂存区 +- git commit: 提交更改到本地仓库 +- git push: 推送更改到远程仓库 +- git pull: 从远程仓库拉取最新更改 +等其他相关命令的使用体验和理解) + +--- + +## CI 自动评分与运行指引 +- 课程作业检测仅在 PR 到 main 时执行,请通过 Pull Request 提交本文件。 +- 文件命名:assignments/lesson2/{你的GitHub用户名}.md。 +- 自动评分工作流: [.github/workflows/calculate-score.yml](../../.github/workflows/calculate-score.yml)。 +- 首次 Fork 后:进入 Actions → 选择 “Calculate Student Score” → 点击 “Run workflow” 并选择 main → 在日志中查看成绩。 \ No newline at end of file From 9fe094c94b1f64b278ce9cb843993e07ac5a82cc Mon Sep 17 00:00:00 2001 From: Limited-time Date: Sun, 7 Dec 2025 23:08:38 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=8F=90=E4=BA=A4lesson1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignments/lesson1/Limited-time.md | 220 ++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 assignments/lesson1/Limited-time.md diff --git a/assignments/lesson1/Limited-time.md b/assignments/lesson1/Limited-time.md new file mode 100644 index 0000000..3c7da86 --- /dev/null +++ b/assignments/lesson1/Limited-time.md @@ -0,0 +1,220 @@ +# 开源商业模式分析报告 + +## 学员GitHub用户名: Limited-time + +## 选择的商业模式 + +Linux 基金会商业模式 + +## 分析内容 + +## 1. 商业模式概述 + +Linux基金会采用“非营利架构支撑商业价值”的独特开源商业模式,以“中立治理”为核心信任基石,构建“企业-开发者-高校”三方共生的生态网络。其本质是通过专业团队运营开源项目,整合跨领域技术资源并主导行业标准制定,一方面为全球开发者提供免费开源技术与协作平台,另一方面通过面向企业的增值服务实现可持续运营,最终形成“技术协同创造价值、多元服务实现变现”的生态闭环。2025年托管微软DocumentDB项目并吸引AWS、谷歌联合支持的案例,进一步印证了其“供应商中立枢纽”的核心定位。 + +## 2. 收入来源 + +Linux基金会的收入结构均衡且可持续,2023年2.63亿美元营收主要来自四大板块,形成“核心收入稳、增值收入活”的格局: + +- **分级会员费(占比45%)**:核心收入来源,按权益分级定价——白金会员年缴50万美元(13家,含华为、微软)、黄金会员年缴10万美元(11家,含百度、谷歌)、白银会员年缴5000-20000美元(约1275家),会员可获得标准制定话语权、优先技术支持等核心权益; +- **项目支持费(占比26%)**:企业针对特定项目的定向资助,如Kubernetes、RISC-V等,2024年新增155个项目带来6700万美元收入,2025年DocumentDB项目的跨厂商资助进一步扩充该板块规模; +- **培训与认证(占比20%)**:推出Linux开发、Kubernetes管理等认证体系,2024年培训240万人、认证10万+专业人才,形成“人才培养-企业招聘”的商业闭环,OpenSSF推出的网络安全技能框架也带动了安全领域培训收入增长; +- **活动与赞助(占比9%)**:每年举办157场全球活动(如Open Source Summit),吸引9万+与会者,收入来自企业冠名、展位租赁,同时为开发者提供差旅支持以扩大参与度。 + +## 3. 社区与生态 + +Linux基金会已构建全球最具影响力的开源生态之一,形成“规模庞大、协同高效、价值闭环”的发展格局: + +- **社区规模**:截至2025年,聚集1.5万个组织成员、管理850+关键项目,旗下OpenSSF项目拥有118家机构支持和1519名技术贡献者,形成覆盖企业、开发者、高校的多元参与网络; +- **生态建设举措**:一是项目矩阵化管理,覆盖Linux内核、云原生(Kubernetes)、AI(DocumentDB)、硬件(RISC-V)等领域,实现技术协同;二是人才供应链建设,通过“开源之夏”、高校课程共建培养人才,认证体系直接对接企业招聘;三是标准输出,主导POSIX、云原生等行业标准,2025年推动DocumentDB成为首个开源文档数据库标准引擎; +- **生态价值体现**:RISC-V与Linux内核适配降低硬件厂商开发成本,汽车软件项目服务数百万辆量产车,DocumentDB通过PostgreSQL扩展解决企业数据一致性痛点,生态协同效应显著。 + +## 4. 竞争优势 + +相较于传统商业软件“闭源垄断、高成本、强绑定”的模式,Linux基金会的商业模式具有五大核心优势: + +- **成本优势**:基础技术与工具完全开源,企业无需支付高额软件授权费,仅按需购买增值服务,显著降低技术投入门槛; +- **中立性信任优势**:三层治理架构避免单一企业控制,微软、AWS等竞争对手可共同参与DocumentDB等项目,这种中立性成为吸引多元主体的核心磁场; +- **生态创新优势**:1.5万组织的集体创新远快于单一企业研发,如Kubernetes的迭代速度是传统商业容器软件的3倍; +- **标准壁垒优势**:主导的Kubernetes、DocumentDB等成为行业标准,企业采用开源标准可避免供应商锁定,如DocumentDB解决了NoSQL领域的碎片化问题; +- **安全合规优势**:OpenSSF推出AI/ML安全白皮书、CRA合规指南等工具,帮助企业应对开源安全与合规风险,这是传统商业软件难以提供的生态级服务。 + +## 5. 挑战与风险 + +尽管生态成熟,Linux基金会的商业模式仍面临四大核心挑战,部分风险在AI时代进一步凸显: + +- **商业化与社区的平衡难题**:企业会员的商业诉求可能与社区开源精神冲突,如Red Hat曾因闭源部分工具引发社区争议,DocumentDB的MongoDB兼容目标也需平衡企业利益与社区需求; +- **云厂商生态掠夺风险**:AWS等云厂商利用开源项目提供托管服务却低比例回馈社区,如AWS自有DocumentDB与Linux基金会项目形成竞争,可能分流生态资源; +- **合规与安全压力升级**:开源许可证种类复杂(Apache 2.0、GPL等),企业易陷入知识产权纠纷;同时欧盟《网络弹性法案》(CRA)增加了开源项目的合规成本,需持续输出指南与工具应对; +- **AI开源的商业化瓶颈**:大模型训练成本高、迭代快(6个月一次大版本更新),开源LLM的变现路径尚未清晰,DocumentDB等AI相关项目的长期盈利模式仍需验证。 + +## 6. 个人见解 + +Linux基金会的商业模式核心价值在于重构了技术生产关系——将“单一企业研发”转化为“全球协同创新”。这种模式的可持续性,本质上依赖“中立性-价值创造-多元变现”的三角支撑:中立性建立信任吸引参与,协同创新创造技术价值,分层服务实现商业回报。 + +从行业发展来看,其模式在AI时代既有机遇也需调整:一方面,DocumentDB、OpenSSF等项目证明开源能解决AI领域的标准化与安全痛点;另一方面,需针对AI项目特性优化变现逻辑,如推出大模型微调认证、异构芯片适配服务等新增值点。 + +对企业而言,参与Linux基金会生态应摒弃“零和思维”:芯片厂商可通过标准制定扩大市场,软件企业可借助生态降低适配成本,这种“共建共享”正是开源商业模式超越传统商业软件的核心魅力。未来,随着云厂商从“掠夺”转向“共生”(如AWS参与DocumentDB项目),以及合规体系的完善,该模式有望在AI开源浪潮中进一步放大价值。 + + + +# 参考(豆包) + +## Linux基金会及开源商业模式全景分析报告 + +**报告摘要**:本报告以Linux基金会为核心研究对象,系统拆解其“中立治理+生态赋能+多元变现”的商业模式内核,结合Apache基金会、Red Hat等典型案例,归纳开源领域4类主流商业模式的特征与适用场景。通过分析2023-2025年行业数据,总结开源商业模式的共性规律与核心矛盾,并对AI时代开源商业化的发展趋势提出预判,为企业参与开源生态提供决策参考。 + +### 一、核心标杆 + +Linux基金会成立于2000年,2007年由开源开发实验室(OSDL)与自由标准组织(FSG)整合而成,是全球最具影响力的开源生态枢纽。截至2025年,其已聚集1.5万个组织成员、管理850+关键项目,2023年营收达2.63亿美元,形成了“非营利架构支撑商业价值”的独特模式。 + +#### 1.1 治理架构 + +中立性是Linux基金会吸引多元主体参与的核心前提,其通过三层架构实现“社区共治与专业管理”的平衡: + +- **决策层**:由技术治理委员会(40%核心开发者)、生态运营委员会(50%企业代表)、标准推广委员会(高校+机构)构成,所有决策需经公开讨论与共识投票,流程全程透明; + +- **执行层**:150人专业团队负责项目管理、活动组织、安全审计等落地工作,通过LFX平台实现协作工具集成与效率管控; + +- **参与层**:采用“精英治理”模式,开发者从贡献者到提交者再到核心委员,凭技术贡献获得话语权,保障社区活力。 + +这种架构既避免了单一企业对项目的控制(如微软、华为同为白金会员但均无绝对话语权),又通过专业团队保障了生态运营效率,为商业模式落地奠定信任基础。 + +#### 1.2 盈利模式 + +Linux基金会以“覆盖运营成本、反哺生态发展”为盈利目标,2023年2.63亿美元收入中,形成了四大收入板块,结构均衡且可持续: + +1. **分级会员费(占比45%)**:核心收入来源,按企业规模与权益需求分为三级——白金会员(年缴50万美元,13家,含华为、微软等)、黄金会员(年缴10万美元,11家,含百度、谷歌等)、白银会员(年缴5000-20000美元,约1275家),会员权益包括标准制定话语权、优先技术支持、品牌联合推广等; + +2. **项目支持费(占比26%)**:企业为特定项目(如Kubernetes、RISC-V)提供的定向资助,用于技术研发与兼容性测试,2024年新增155个项目带来6700万美元收入; + +3. **培训与认证(占比20%)**:推出Linux开发、Kubernetes管理等认证体系,2024年培训240万人,认证10万+专业人才,形成“人才培养-企业招聘”的商业闭环; + +4. **活动与赞助(占比9%)**:每年举办157场全球活动(如Open Source Summit),吸引9万+与会者,收入来自企业冠名、展位租赁等,同时为开发者提供差旅支持以扩大参与度。 + +#### 1.3 生态运营 + +Linux基金会的核心价值在于构建“技术-人才-企业”的生态网络,通过三大举措实现生态正循环: + +- **项目矩阵化管理**:覆盖Linux内核、云原生(Kubernetes)、硬件(RISC-V)、AI等领域,850+项目形成技术协同效应,如RISC-V指令集与Linux内核的适配降低了硬件厂商的开发成本; + +- **人才供应链建设**:联合高校开展课程共建,通过“开源之夏”等项目吸引学生参与,认证体系与企业招聘直接挂钩,解决开源人才供需矛盾; + +- **标准输出与推广**:主导POSIX等行业标准制定,推动开源技术在金融、能源、汽车等垂直领域的应用,如汽车软件项目已服务数百万辆量产车。 + +### 二、开源商业模式全景 + +基于Linux基金会的标杆模式,结合行业实践,开源商业模式可分为4类核心类型,各类模式在治理方式、盈利逻辑上存在显著差异,适用于不同场景: + +#### 2.1 基金会主导型(中立共治模式) + +**核心逻辑**:以非营利基金会为载体,通过企业赞助与服务收费维持运营,保障项目中立性与社区主导权,典型代表为Linux基金会、Apache软件基金会。 + +**特征对比**: + +| 维度 | Linux基金会 | Apache软件基金会(ASF) | +| -------- | ------------------ | ----------------------------------- | +| 治理核心 | 技术协同+行业标准 | 社区高于代码(Community Over Code) | +| 盈利来源 | 会员费、培训、活动 | 企业赞助(Google、阿里等) | +| 代表项目 | Linux、Kubernetes | Hadoop、Kafka、Dubbo | +| 核心优势 | 行业资源整合能力强 | 社区自治成熟,项目孵化效率高 | + +**适用场景**:需跨企业、跨领域协同的底层技术,如操作系统、分布式框架,需通过中立性吸引多元主体参与。 + +#### 2.2 Open Core模式(核心开源+增值服务) + +**核心逻辑**:将基础功能开源吸引用户,通过企业级增值服务(如运维、安全、定制化)实现盈利,典型代表为Red Hat、MongoDB。 + +**案例解析**:Red Hat以Linux内核为基础,开发企业级发行版RHEL,提供7×24小时技术支持、安全补丁等服务,2023年营收超50亿美元,被IBM收购后进一步强化行业解决方案能力。该模式的关键是“开源核心构建生态,增值服务创造壁垒”,但需平衡开源社区与商业利益的矛盾。 + +**挑战**:云厂商“白嫖”开源核心提供同类服务(如AWS基于Hadoop推出EMR),导致MongoDB等企业修改许可证限制商业使用。 + +#### 2.3 平台生态型(社区流量变现) + +**核心逻辑**:构建开源开发者平台,聚集技术资源与用户流量,通过咨询、托管、工具订阅等方式变现,典型代表为Hugging Face、GitHub。 + +**案例解析**:Hugging Face打造AI开源社区,提供100万+模型、20万+数据集的托管服务,通过企业级咨询、私有部署工具收费,其核心竞争力在于“社区网络效应”——开发者越多,模型资源越丰富,吸引更多企业付费。 + +#### 2.4 硬件捆绑型(开源软件赋能硬件) + +**核心逻辑**:开源软件降低硬件使用门槛,通过硬件销售实现盈利,典型代表为Intel、NVIDIA。 + +**案例解析**:Intel拥有大量开源软件工程师,贡献Linux内核、云计算等领域代码,其开源软件优化了CPU性能,间接推动硬件销售;NVIDIA开源CUDA生态部分工具,提升GPU在AI领域的渗透率,形成“软件-硬件”协同壁垒。 + +### 三、开源商业模式的共性规律与核心矛盾 + +#### 3.1 共性成功要素 + +1. **信任机制是前提**:Linux基金会的中立治理、Apache的透明决策,均通过建立信任吸引开发者与企业参与,Log4j漏洞事件后,安全合规成为信任构建的核心维度; + +2. **生态协同创造价值**:开源模式的本质是“集体创新”,Linux基金会通过项目协同降低企业开发成本,Hugging Face通过社区协同加速AI技术落地; + +3. **分层变现适配需求**:针对个人开发者提供免费资源,针对企业用户提供增值服务,如Linux基金会的免费文档与付费认证培训形成互补; + +4. **标准输出构建壁垒**:Linux基金会主导的Kubernetes成为云原生标准,Apache的Hadoop成为大数据标准,标准地位带来生态主导权。 + +#### 3.2 核心矛盾与挑战 + +- **商业化与社区的平衡**:企业追求盈利可能损害社区利益(如闭源核心功能),导致开发者流失,Red Hat曾因闭源部分工具引发社区争议; + +- **云厂商的生态掠夺**:云厂商利用开源项目提供托管服务却不回馈社区,导致开源项目收入受损,成为行业普遍痛点; + +- **知识产权与安全风险**:开源许可证种类复杂(Apache 2.0、GPL等),企业易陷入合规纠纷;同时,开源代码的开放性增加了安全漏洞风险,需投入成本进行漏洞扫描与修复; + +- **AI时代的新挑战**:大模型训练成本高、迭代快(6个月一次大版本更新),开源LLM的商业化尚未找到稳定路径,Hugging Face的咨询模式仍在验证中。 + +### 四、趋势、落地、结论 + +#### 4.1 行业发展趋势 + +- **AI开源成为新焦点**:LLM开源项目(如Llama 2、Mistral)兴起,开源模式降低AI技术使用门槛,未来可能形成“开源基础模型+企业微调服务”的分工模式; + +- **合规体系持续完善**:Linux基金会推动的开源供应链安全计划(OpenSSF)将成为行业标准,企业对合规审计的需求提升,带动相关服务收入增长; + +- **基金会模式进一步普及**:垂直领域基金会(如CNCF、OpenSSF)增多,聚焦特定技术领域的协同与标准制定; + +- **云厂商与开源的共生**:部分云厂商开始回馈社区(如AWS参与Kubernetes贡献),未来可能形成“开源项目-云厂商-企业用户”的共赢机制。 + +#### 4.2 企业参与开源的落地建议 + +1. **选择适配的商业模式**:底层技术建议采用基金会模式保障中立性,应用层技术可采用Open Core模式快速变现; +2. **强化社区运营能力**:参考Linux基金会的“分层运营”,针对新手开发者提供入门教程,为核心贡献者提供话语权与激励,构建“参与-回报”闭环; +3. **重视合规与安全**:建立开源许可证管理体系,接入OpenSSF的安全工具,降低法律与漏洞风险; +4. **布局AI开源生态**:参与或主导AI开源项目,通过贡献代码积累技术能力,结合自身业务场景开发增值服务。 + +#### 4.3 结论 + +Linux基金会的成功证明,开源商业模式的核心是“以中立性构建信任,以生态协同创造价值,以多元服务实现可持续”。开源并非“免费午餐”,而是通过“集体创新”重构技术生产关系,其商业模式的本质是“生态价值的合理分配”。 + +未来,随着AI与云原生技术的发展,开源商业模式将更加多元化,但“信任、协同、合规”仍是核心关键词。企业需摒弃“零和思维”,以共建共享的心态参与开源生态,才能在技术变革中把握机遇。 + + + +### 附:分析表 + +#### 1. 参与方“真假需求”拆解表 + +注:表面需求为参与方显性诉求,核心诉求为驱动决策的本质需求,是Linux基金会商业模式设计的核心依据。 + +| 参与方类型 | 表面需求(显性诉求) | 核心诉求(真需求) | +| ----------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | +| 企业会员(华为/微软等) | 1. 获取开源技术资源与文档;
2. 品牌曝光提升行业影响力;
3. 免费使用基础工具组件 | 1. 参与行业标准制定,掌握技术话语权;
2. 降低跨企业协作成本,避免重复开发;
3. 对接生态人才,解决技术团队招聘需求 | +| 开发者群体 | 1. 免费获取开发工具与教程;
2. 寻找技术交流平台;
3. 提交代码反馈问题 | 1. 技术能力获得行业认可(认证/贡献者榜单);
2. 获得职业发展机会(企业内推/实习);
3. 拥有公平的贡献回报机制 | +| 高校/科研机构 | 1. 获取教学科研用技术素材;
2. 为学生提供实践平台;
3. 发布科研成果 | 1. 打通科研成果转化通道,对接企业需求;
2. 链接行业资源,提升科研项目实用性;
3. 培养符合企业需求的人才,提高学生就业率 | +| 基金会自身 | 1. 筹集运营资金;
2. 扩大项目规模与参与度;
3. 组织行业活动 | 1. 维持生态中立性与信任度;
2. 构建"企业-开发者-高校"可持续生态闭环;
3. 成为AI/云原生领域标准制定枢纽 | + +#### 2. "五定三看"战略分析表 + +**"五定"聚焦Linux基金会自身战略定位** + +1. **定位**:AI/云原生开源生态中立枢纽 +2. **定客**:核心客群为企业会员,基础客群为开发者与高校 +3. **定品**:核心产品为标准制定服务,配套产品为技术培训、认证、项目支持 +4. **定利**:分级会员费(45%)、项目支持费(26%)、培训认证(20%)、活动赞助(9%) +5. **定模**:"基金会治理+社区协同"双轮驱动,保障中立性与运营效率 + +**"三看"立足外部环境与自身资源** + +1. **看行业**:开源技术普及度提升,企业降本需求迫切;AI/云原生领域爆发,技术协同需求增强 +2. **看对手**:Apache基金会强于社区自治,Red Hat专注商业服务;云厂商存在生态掠夺风险 +3. **看自身**:核心优势为中立性与资源整合能力;拥有1.5万组织成员+850+项目的生态资源 \ No newline at end of file From 1efd6fe90da667694163d68c84314f145dde948e Mon Sep 17 00:00:00 2001 From: Limited-time <104245389+Limited-time@users.noreply.github.com> Date: Mon, 8 Dec 2025 01:25:48 +0800 Subject: [PATCH 3/9] Replace local image link with hosted version Updated image link to a hosted version in Limited-time.md. --- assignments/lesson2/Limited-time.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assignments/lesson2/Limited-time.md b/assignments/lesson2/Limited-time.md index 14f4232..5a023b9 100644 --- a/assignments/lesson2/Limited-time.md +++ b/assignments/lesson2/Limited-time.md @@ -18,7 +18,7 @@ (在此处插入执行`git --version`命令后的截图) -![image-20251207225727814](Limited-time.assets/image-20251207225727814.png) +![image-20251207225727814]([Limited-time.assets/image-20251207225727814.png](https://private-user-images.githubusercontent.com/104245389/523470778-78faa204-1766-46f5-9e09-c917258cbc5d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjUxMjg1MzQsIm5iZiI6MTc2NTEyODIzNCwicGF0aCI6Ii8xMDQyNDUzODkvNTIzNDcwNzc4LTc4ZmFhMjA0LTE3NjYtNDZmNS05ZTA5LWM5MTcyNThjYmM1ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTIwN1QxNzIzNTRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NWM2MTJlNWJiYzEzZTMxNGVhNDMxMDE1ZmJiZjU4YTY1ZTcyNzQ4MTZmMWZlMWI4MDIxZDNkNjIwYzhmNmM5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.70u_IuqYGA1r9iV0MLA-27MzqVNjXvtxBCGcL2V0bjM)) ## 4. Git命令使用过程总结 @@ -36,4 +36,4 @@ - 课程作业检测仅在 PR 到 main 时执行,请通过 Pull Request 提交本文件。 - 文件命名:assignments/lesson2/{你的GitHub用户名}.md。 - 自动评分工作流: [.github/workflows/calculate-score.yml](../../.github/workflows/calculate-score.yml)。 -- 首次 Fork 后:进入 Actions → 选择 “Calculate Student Score” → 点击 “Run workflow” 并选择 main → 在日志中查看成绩。 \ No newline at end of file +- 首次 Fork 后:进入 Actions → 选择 “Calculate Student Score” → 点击 “Run workflow” 并选择 main → 在日志中查看成绩。 From d88c516169df558a856f8f7f70c262214eee0e43 Mon Sep 17 00:00:00 2001 From: Limited-time Date: Mon, 8 Dec 2025 01:31:00 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../image-20251207225727814.png | Bin 0 -> 14141 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assignments/lesson2/Limited-time.assets/image-20251207225727814.png diff --git a/assignments/lesson2/Limited-time.assets/image-20251207225727814.png b/assignments/lesson2/Limited-time.assets/image-20251207225727814.png new file mode 100644 index 0000000000000000000000000000000000000000..118a32a5ac7a51125c2621e412cbb70fc06f7f64 GIT binary patch literal 14141 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 Date: Mon, 8 Dec 2025 04:03:53 +0800 Subject: [PATCH 5/9] Create Limited-time.assets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本地截图文件夹 --- assignments/lesson2/Limited-time.assets | 1 + 1 file changed, 1 insertion(+) create mode 100644 assignments/lesson2/Limited-time.assets diff --git a/assignments/lesson2/Limited-time.assets b/assignments/lesson2/Limited-time.assets new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/assignments/lesson2/Limited-time.assets @@ -0,0 +1 @@ + From 461f17d283b7ef1035a50f7b457314261c8cbbf5 Mon Sep 17 00:00:00 2001 From: Limited-time <104245389+Limited-time@users.noreply.github.com> Date: Mon, 8 Dec 2025 04:14:34 +0800 Subject: [PATCH 6/9] Delete assignments/lesson2/Limited-time.assets --- assignments/lesson2/Limited-time.assets | 1 - 1 file changed, 1 deletion(-) delete mode 100644 assignments/lesson2/Limited-time.assets diff --git a/assignments/lesson2/Limited-time.assets b/assignments/lesson2/Limited-time.assets deleted file mode 100644 index 8b13789..0000000 --- a/assignments/lesson2/Limited-time.assets +++ /dev/null @@ -1 +0,0 @@ - From 0eab2c528a1722ca91a226d18c5a27fff4173196 Mon Sep 17 00:00:00 2001 From: Limited-time Date: Mon, 8 Dec 2025 04:19:11 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E4=B8=8A=E4=BC=A0=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E6=88=AA=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../image-20251207225727814-1765138698825.png | Bin 0 -> 14141 bytes assignments/lesson2/Limited-time.md | 4 +++- assignments/lesson2/image-20251207225727814.png | Bin 0 -> 14141 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png create mode 100644 assignments/lesson2/image-20251207225727814.png diff --git a/assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png b/assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png new file mode 100644 index 0000000000000000000000000000000000000000..118a32a5ac7a51125c2621e412cbb70fc06f7f64 GIT binary patch literal 14141 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 Date: Mon, 8 Dec 2025 04:30:20 +0800 Subject: [PATCH 8/9] Delete assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 冗余 --- .../image-20251207225727814-1765138698825.png | Bin 14141 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png diff --git a/assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png b/assignments/lesson2/Limited-time.assets/image-20251207225727814-1765138698825.png deleted file mode 100644 index 118a32a5ac7a51125c2621e412cbb70fc06f7f64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14141 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 Date: Mon, 8 Dec 2025 04:43:12 +0800 Subject: [PATCH 9/9] Document Git merge conflict resolution steps Added troubleshooting steps for Git merge conflicts and image rendering issues. Included commands for aborting merges and stashing changes. --- assignments/lesson2/Limited-time.md | 34 +++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/assignments/lesson2/Limited-time.md b/assignments/lesson2/Limited-time.md index 755fe86..a50e71b 100644 --- a/assignments/lesson2/Limited-time.md +++ b/assignments/lesson2/Limited-time.md @@ -12,13 +12,43 @@ ## 2. 遇到的问题及解决方法 -暂无 +Limited-time.assets文件夹上传不上来,于是图片渲染失败,而过程中GitHub仓修改和本地仓修改冲突 + +报错: + error: Pulling is not possible because you have unmerged files 错误,核心是 Git 仓库里存在 “未完成合并” 的文件,这些文件卡住了合并 / 拉取流程,导致无法执行 git pull + +方法: + git merge --abort + + 终止未完成的合并(清理异常状态,保留本地文件),执行这个命令,Git 会取消所有未完成的合并操作,完全保留你的图片、MD 文件等本地修改,只清理卡住的合并状态 + + 然后能正常拉取到本地:git pull origin main + + 再从本地推送到GitHub:git push origin main + + 期间学到了一个: + 暂存本地所有修改(保护图片不丢失):git stash + + 恢复本地修改(把图片 / MD 文件改回来):git stash pop + +以及GitHub图的URL: + +用 GitHub 图片原始链接,100% 显示 +如果改路径后仍不显示,大概率是图片没真的推到 GitHub,或缓存问题,用图片的 GitHub 原始链接最稳妥: + +1、打开 GitHub 仓库,找到这个 PNG 文件(进入 lesson2 目录,能看到图片文件); + +2、点击图片文件,再点击右上角的「Raw」按钮(会打开纯图片页面); + +3、复制浏览器地址栏里的链接(比如https://raw.githubusercontent.com/Limited-time/github101/main/assignments/lesson2/image-20251207225727814-1765138698825.png); + +4、把 MD 里的图片代码换成这个链接 ## 3. 版本信息截图 (在此处插入执行`git --version`命令后的截图) -![version`](image-20251207225727814-1765138698825.png) +![](Limited-time.assets/image-20251207225727814.png)