From ecdfdfc203660e9ec524fffb51cecc013b2b1227 Mon Sep 17 00:00:00 2001 From: shanyuyouwu45 <18424208558@163.com> Date: Mon, 24 Nov 2025 21:46:24 +0800 Subject: [PATCH 1/4] =?UTF-8?q?docs:=20=E4=BD=9C=E4=B8=9A=E4=B8=80?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90=E4=BA=A4=E2=80=9C=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignments/lesson1/example-report.html | 495 ++++++++++++++++++++++++ assignments/lesson1/example-report.md | 34 -- assignments/lesson1/shanyuyouwu5.md | 82 ++++ 3 files changed, 577 insertions(+), 34 deletions(-) create mode 100644 assignments/lesson1/example-report.html delete mode 100644 assignments/lesson1/example-report.md create mode 100644 assignments/lesson1/shanyuyouwu5.md diff --git a/assignments/lesson1/example-report.html b/assignments/lesson1/example-report.html new file mode 100644 index 0000000..c7c3993 --- /dev/null +++ b/assignments/lesson1/example-report.html @@ -0,0 +1,495 @@ + + + + + + + + + + + + + +example-report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

开源商业模式分析报告

+
+

学员GitHub用户名: shanyuyouwu5

+
+
+

Odoo商业模式

+

Odoo是一家瑞典ERP(企业资源规划)和CRM(客户资源管理)系统开发公司,前身是TinyERP,2002年成立,2005年开源 +2015年更名为Odoo,连续三年登上胡润独角兽榜,2025年位于147名的位置,是全球安装次数最多的商业软件。 +Odoo认为商业软件应以简单的结构解决复杂的需求,提供直观、功能全面、紧密集成、升级无忧、面向每种业务、每一用户均可平稳运行的软件。 +基于这种观点,Odoo开发50 +款主要应用程序,全部会定期更新;Odoo的流动性和完全整合可满足甚至是最复杂公司的需求,这些应用可按照您公司的发展进行添加,随着需求逐一添加应用。 +得益于开源社区,Odoo由大量开发人员积极进行维护,以满足不断发展的客户需求并提供新颖、创新的应用。社区有超过1,500名活跃成员,他们已额外贡献超过 +5 万套自订功能的应用程序,足以涵盖各行各业的运营需求。 +由初创公司到大型企业,全球有超过 1,300 万名用户正在使用 Odoo。

+
+
+

分析内容

+
+

1. 商业模式概述

+

Odoo分为两个版本社区版和企业版:

+
    +
  1. 社区版:免费开源使用LGPLv3协议,允许企业在Odoo内核的基础上开发自己的商用版本,并使用其他协议自主选择开源或不开源,有很大的灵活性。
  2. +
  3. 企业版:企业版按照使用人数收费,使用自有协议OEEL不允许私自改动。
  4. +
+

得益于Odoo的设计理念以及精准的定位,它拥有相对于传统付费ERP系统的优势,集成化、灵活性、流动性,使它获得了大量的用户。 +另外Odoo的开源使他获得了大量的贡献者,并能够快速对用户的需求反应。构建的良好生态进一步降低企业成本增加了灵活性。 +Odoo的商业模式成功地将开源社区的创新活力与商业服务的可持续性相结合,既降低了中小企业数字化转型的门槛,又构建了健康的商业生态。收入中的80%用于开源版本的建设 +为了专注于系统的研发,采取了与当地公司合作的方式,由本地企业进行本地化。

+
+
+

2. 收入来源

+

Odoo的收入来源大部分来自其企业版,企业版又分为两个版本:标准版和自定义版。 +标准版仅提供所有应用每人每年13.5美元,自定义版提供定制化以及离线部署静态托管等服务每人每年20.4美元。 +并且Odoo提供培训和认证等服务收取费用。 +此外第三方应用市场的模块与开发者按比例分成。 +这就是Odoo公司的大部分收入来源。

+
+
+

3. 社区与生态

+

社区有超过1,500名活跃成员,他们已额外贡献超过 5 +万套自订功能的应用程序

+
+
+

4. 竞争优势

+
    +
  1. 开源生态驱动的网络效应
  2. +
+
    +
  • 社区协作创新:超过10万开发者组成的全球社区协作开发,持续丰富模块库。“模块越多→用户越多→开发者越多”的良性循环,形成强大的生态壁垒。
  • +
  • 低成本创新:企业可基于开源社区资源快速验证业务需求,降低创新成本。
  • +
+
    +
  1. 精准定位中小企业市场
  2. +
+
    +
  • 模块化设计:中小企业无需购买全套功能,只需订阅所需模块,大幅降低初始投入。
  • +
  • 低代码工具:Odoo +Studio允许非技术人员通过拖拽配置自定义业务流程,减少对专业IT人员的依赖。
  • +
  • 云端部署:无需本地服务器维护,IT运维门槛趋近于零,特别适合缺乏专业IT团队的中小企业。
  • +
+
    +
  1. 全球化与本地化结合
  2. +
+
    +
  • 多语言支持:支持160+国家/地区的本地化需求,包括中文、西班牙语、阿拉伯语等。
  • +
  • 地区合规适配:支持欧盟VAT、美国销售税、印度GST等地区特定税务规则和合规要求。
  • +
  • 本地合作伙伴:通过全球合作伙伴网络提供本地化实施和服务。
  • +
+
    +
  1. 高度集成的全业务链覆盖
  2. +
+
    +
  • 单一平台整合:从前端获客到后端生产全链打通,避免多个系统”拼凑”管理流程。
  • +
  • 数据实时同步:所有模块共享同一数据库,确保数据一致性,避免”信息孤岛”问题。
  • +
  • 跨平台适配:B/S架构支持Windows、Linux、Mac系统,手机、平板等移动终端直接通过浏览器访问。
  • +
+
+
+

5. 挑战与风险

+
    +
  1. 如何确保社区版足够吸引用户,同时企业版提供足够价值以实现盈利。
  2. +
  3. 应用商店模块质量参差不齐,可能影响用户体验。
  4. +
  5. 确保不同地区的合作企业实力。
  6. +
  7. 社区版需要一定技术能力进行部署和维护。
  8. +
+
+
+

6. 个人见解

+

Odoo的商业成功得益于他的敏锐的商业逻辑,创建了不同于传统ERP的独特优势获得用户关注,并利用开源获得良好的社区生态,出售企业服务,社区的第三方库,使用合作模式扩大收益。

+
+
+
+ + + + +
+ + + + + + + + + + + + + + + diff --git a/assignments/lesson1/example-report.md b/assignments/lesson1/example-report.md deleted file mode 100644 index 526048b..0000000 --- a/assignments/lesson1/example-report.md +++ /dev/null @@ -1,34 +0,0 @@ -# 开源商业模式分析报告模板 - -## 学员GitHub用户名: example-user - -## 选择的商业模式 -(在此处填写您选择分析的开源商业模式,例如:Odoo 商业模式、安卓商业模式等) - -## 分析内容 - -### 1. 商业模式概述 -(简要描述该开源项目的商业模式) - -### 2. 收入来源 -(分析该项目的主要收入来源,如:订阅服务、技术支持、培训、云服务等) - -### 3. 社区与生态 -(描述该项目的社区规模、生态系统建设情况) - -### 4. 竞争优势 -(分析该商业模式相比传统商业软件的优势) - -### 5. 挑战与风险 -(指出该商业模式面临的挑战和潜在风险) - -### 6. 个人见解 -(分享您对该商业模式的看法和思考) - ---- - -## CI 自动评分与运行指引 -- 课程作业检测仅在 PR 到 main 时执行,请通过 Pull Request 提交本文件。 -- 文件命名:assignments/lesson1/{你的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 diff --git a/assignments/lesson1/shanyuyouwu5.md b/assignments/lesson1/shanyuyouwu5.md new file mode 100644 index 0000000..9f26a2d --- /dev/null +++ b/assignments/lesson1/shanyuyouwu5.md @@ -0,0 +1,82 @@ +--- +editor_options: + markdown: + wrap: 72 +--- + +# 开源商业模式分析报告 + +## 学员GitHub用户名: shanyuyouwu5 + +## Odoo商业模式 + +Odoo是一家瑞典ERP(企业资源规划)和CRM(客户资源管理)系统开发公司,前身是TinyERP,2002年成立,2005年开源 +2015年更名为Odoo,连续三年登上胡润独角兽榜,2025年位于147名的位置,是全球安装次数最多的商业软件。 +Odoo认为商业软件应以简单的结构解决复杂的需求,提供直观、功能全面、紧密集成、升级无忧、面向每种业务、每一用户均可平稳运行的软件。 +基于这种观点,Odoo开发50 +款主要应用程序,全部会定期更新;Odoo的流动性和完全整合可满足甚至是最复杂公司的需求,这些应用可按照您公司的发展进行添加,随着需求逐一添加应用。 +得益于开源社区,Odoo由大量开发人员积极进行维护,以满足不断发展的客户需求并提供新颖、创新的应用。社区有超过1,500名活跃成员,他们已额外贡献超过 +5 万套自订功能的应用程序,足以涵盖各行各业的运营需求。 +由初创公司到大型企业,全球有超过 1,300 万名用户正在使用 Odoo。 + +## 分析内容 + +### 1. 商业模式概述 + +Odoo分为两个版本社区版和企业版: + +1. 社区版:免费开源使用LGPLv3协议,允许企业在Odoo内核的基础上开发自己的商用版本,并使用其他协议自主选择开源或不开源,有很大的灵活性。 +2. 企业版:企业版按照使用人数收费,使用自有协议OEEL不允许私自改动。 + +得益于Odoo的设计理念以及精准的定位,它拥有相对于传统付费ERP系统的优势,集成化、灵活性、流动性,使它获得了大量的用户。 +另外Odoo的开源使他获得了大量的贡献者,并能够快速对用户的需求反应。构建的良好生态进一步降低企业成本增加了灵活性。 +Odoo的商业模式成功地将开源社区的创新活力与商业服务的可持续性相结合,既降低了中小企业数字化转型的门槛,又构建了健康的商业生态。收入中的80%用于开源版本的建设 +为了专注于系统的研发,采取了与当地公司合作的方式,由本地企业进行本地化。 + +### 2. 收入来源 +Odoo的收入来源大部分来自其企业版,企业版又分为两个版本:标准版和自定义版。 +标准版仅提供所有应用每人每年13.5美元,自定义版提供定制化以及离线部署静态托管等服务每人每年20.4美元。 +并且Odoo提供培训和认证等服务收取费用。 +此外第三方应用市场的模块与开发者按比例分成。 +这就是Odoo公司的大部分收入来源。 + +### 3. 社区与生态 +社区有超过1,500名活跃成员,他们已额外贡献超过 5 万套自订功能的应用程序 + +### 4. 竞争优势 + +1. 开源生态驱动的网络效应 + +- 社区协作创新:超过10万开发者组成的全球社区协作开发,持续丰富模块库。**"模块越多→用户越多→开发者越多"**的良性循环,形成强大的生态壁垒。 +- 低成本创新:企业可基于开源社区资源快速验证业务需求,降低创新成本。 + +2. 精准定位中小企业市场 + +- 模块化设计:中小企业无需购买全套功能,只需订阅所需模块,大幅降低初始投入。 +- 低代码工具:Odoo Studio允许非技术人员通过拖拽配置自定义业务流程,减少对专业IT人员的依赖。 +- 云端部署:无需本地服务器维护,IT运维门槛趋近于零,特别适合缺乏专业IT团队的中小企业。 + +3. 全球化与本地化结合 + +- 多语言支持:支持160+国家/地区的本地化需求,包括中文、西班牙语、阿拉伯语等。 +- 地区合规适配:支持欧盟VAT、美国销售税、印度GST等地区特定税务规则和合规要求。 +- 本地合作伙伴:通过全球合作伙伴网络提供本地化实施和服务。 + +4. 高度集成的全业务链覆盖 + +- 单一平台整合:从前端获客到后端生产全链打通,避免多个系统"拼凑"管理流程。 +- 数据实时同步:所有模块共享同一数据库,确保数据一致性,避免"信息孤岛"问题。 +- 跨平台适配:B/S架构支持Windows、Linux、Mac系统,手机、平板等移动终端直接通过浏览器访问。 + +### 5. 挑战与风险 + +1. 如何确保社区版足够吸引用户,同时企业版提供足够价值以实现盈利。 +2. 应用商店模块质量参差不齐,可能影响用户体验。 +3. 确保不同地区的合作企业实力。 +4. 社区版需要一定技术能力进行部署和维护。 + +### 6. 个人见解 + +Odoo的商业成功得益于他的敏锐的商业逻辑,创建了不同于传统ERP的独特优势获得用户关注,并利用开源获得良好的社区生态,出售企业服务,社区的第三方库,使用合作模式扩大收益。 + + From ba5c0d36254b18cc9e661548750f438c0b6f2e50 Mon Sep 17 00:00:00 2001 From: shanyuyouwu45 <18424208558@163.com> Date: Sat, 29 Nov 2025 19:52:05 +0800 Subject: [PATCH 2/4] =?UTF-8?q?docs:=E5=88=A0=E9=99=A4HTML=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignments/lesson1/example-report.html | 495 ------------------------ 1 file changed, 495 deletions(-) delete mode 100644 assignments/lesson1/example-report.html diff --git a/assignments/lesson1/example-report.html b/assignments/lesson1/example-report.html deleted file mode 100644 index c7c3993..0000000 --- a/assignments/lesson1/example-report.html +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - - - - - - - - -example-report - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
-

开源商业模式分析报告

-
-

学员GitHub用户名: shanyuyouwu5

-
-
-

Odoo商业模式

-

Odoo是一家瑞典ERP(企业资源规划)和CRM(客户资源管理)系统开发公司,前身是TinyERP,2002年成立,2005年开源 -2015年更名为Odoo,连续三年登上胡润独角兽榜,2025年位于147名的位置,是全球安装次数最多的商业软件。 -Odoo认为商业软件应以简单的结构解决复杂的需求,提供直观、功能全面、紧密集成、升级无忧、面向每种业务、每一用户均可平稳运行的软件。 -基于这种观点,Odoo开发50 -款主要应用程序,全部会定期更新;Odoo的流动性和完全整合可满足甚至是最复杂公司的需求,这些应用可按照您公司的发展进行添加,随着需求逐一添加应用。 -得益于开源社区,Odoo由大量开发人员积极进行维护,以满足不断发展的客户需求并提供新颖、创新的应用。社区有超过1,500名活跃成员,他们已额外贡献超过 -5 万套自订功能的应用程序,足以涵盖各行各业的运营需求。 -由初创公司到大型企业,全球有超过 1,300 万名用户正在使用 Odoo。

-
-
-

分析内容

-
-

1. 商业模式概述

-

Odoo分为两个版本社区版和企业版:

-
    -
  1. 社区版:免费开源使用LGPLv3协议,允许企业在Odoo内核的基础上开发自己的商用版本,并使用其他协议自主选择开源或不开源,有很大的灵活性。
  2. -
  3. 企业版:企业版按照使用人数收费,使用自有协议OEEL不允许私自改动。
  4. -
-

得益于Odoo的设计理念以及精准的定位,它拥有相对于传统付费ERP系统的优势,集成化、灵活性、流动性,使它获得了大量的用户。 -另外Odoo的开源使他获得了大量的贡献者,并能够快速对用户的需求反应。构建的良好生态进一步降低企业成本增加了灵活性。 -Odoo的商业模式成功地将开源社区的创新活力与商业服务的可持续性相结合,既降低了中小企业数字化转型的门槛,又构建了健康的商业生态。收入中的80%用于开源版本的建设 -为了专注于系统的研发,采取了与当地公司合作的方式,由本地企业进行本地化。

-
-
-

2. 收入来源

-

Odoo的收入来源大部分来自其企业版,企业版又分为两个版本:标准版和自定义版。 -标准版仅提供所有应用每人每年13.5美元,自定义版提供定制化以及离线部署静态托管等服务每人每年20.4美元。 -并且Odoo提供培训和认证等服务收取费用。 -此外第三方应用市场的模块与开发者按比例分成。 -这就是Odoo公司的大部分收入来源。

-
-
-

3. 社区与生态

-

社区有超过1,500名活跃成员,他们已额外贡献超过 5 -万套自订功能的应用程序

-
-
-

4. 竞争优势

-
    -
  1. 开源生态驱动的网络效应
  2. -
-
    -
  • 社区协作创新:超过10万开发者组成的全球社区协作开发,持续丰富模块库。“模块越多→用户越多→开发者越多”的良性循环,形成强大的生态壁垒。
  • -
  • 低成本创新:企业可基于开源社区资源快速验证业务需求,降低创新成本。
  • -
-
    -
  1. 精准定位中小企业市场
  2. -
-
    -
  • 模块化设计:中小企业无需购买全套功能,只需订阅所需模块,大幅降低初始投入。
  • -
  • 低代码工具:Odoo -Studio允许非技术人员通过拖拽配置自定义业务流程,减少对专业IT人员的依赖。
  • -
  • 云端部署:无需本地服务器维护,IT运维门槛趋近于零,特别适合缺乏专业IT团队的中小企业。
  • -
-
    -
  1. 全球化与本地化结合
  2. -
-
    -
  • 多语言支持:支持160+国家/地区的本地化需求,包括中文、西班牙语、阿拉伯语等。
  • -
  • 地区合规适配:支持欧盟VAT、美国销售税、印度GST等地区特定税务规则和合规要求。
  • -
  • 本地合作伙伴:通过全球合作伙伴网络提供本地化实施和服务。
  • -
-
    -
  1. 高度集成的全业务链覆盖
  2. -
-
    -
  • 单一平台整合:从前端获客到后端生产全链打通,避免多个系统”拼凑”管理流程。
  • -
  • 数据实时同步:所有模块共享同一数据库,确保数据一致性,避免”信息孤岛”问题。
  • -
  • 跨平台适配:B/S架构支持Windows、Linux、Mac系统,手机、平板等移动终端直接通过浏览器访问。
  • -
-
-
-

5. 挑战与风险

-
    -
  1. 如何确保社区版足够吸引用户,同时企业版提供足够价值以实现盈利。
  2. -
  3. 应用商店模块质量参差不齐,可能影响用户体验。
  4. -
  5. 确保不同地区的合作企业实力。
  6. -
  7. 社区版需要一定技术能力进行部署和维护。
  8. -
-
-
-

6. 个人见解

-

Odoo的商业成功得益于他的敏锐的商业逻辑,创建了不同于传统ERP的独特优势获得用户关注,并利用开源获得良好的社区生态,出售企业服务,社区的第三方库,使用合作模式扩大收益。

-
-
-
- - - - -
- - - - - - - - - - - - - - - From a834b47b13e4d65703b0d548ac03a2a2b3b2d2c2 Mon Sep 17 00:00:00 2001 From: shanyuyouwu45 <18424208558@163.com> Date: Sat, 29 Nov 2025 21:46:04 +0800 Subject: [PATCH 3/4] docs:lesson2 --- assignments/lesson2/shanyuyouwu5.md | 33 ++++++++++++++++++ ...0\252\345\233\276_2025-11-29_21-30-03.png" | Bin 0 -> 17263 bytes 2 files changed, 33 insertions(+) create mode 100644 assignments/lesson2/shanyuyouwu5.md create mode 100644 "assignments/lesson2/\345\244\270\345\205\213\346\210\252\345\233\276_2025-11-29_21-30-03.png" diff --git a/assignments/lesson2/shanyuyouwu5.md b/assignments/lesson2/shanyuyouwu5.md new file mode 100644 index 0000000..7eb1e15 --- /dev/null +++ b/assignments/lesson2/shanyuyouwu5.md @@ -0,0 +1,33 @@ +# Git工具安装与使用报告 + +## 学员GitHub用户名: example-user + +## 1. Git安装过程 + +(在此处详细描述Git的安装过程,包括使用的操作系统、安装方法等) + +## 2. 遇到的问题及解决方法 + +(在此处列出安装过程中遇到的问题以及相应的解决方法) + +## 3. 版本信息截图 + +(在此处插入执行`git --version`命令后的截图) + +## 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 diff --git "a/assignments/lesson2/\345\244\270\345\205\213\346\210\252\345\233\276_2025-11-29_21-30-03.png" "b/assignments/lesson2/\345\244\270\345\205\213\346\210\252\345\233\276_2025-11-29_21-30-03.png" new file mode 100644 index 0000000000000000000000000000000000000000..001a11219dceca7e172ec5d46e8e4c76ef7eda7b GIT binary patch literal 17263 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

02FWwI4^E&diJ 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 X)-5`<=|DX2APojjS3j3^P6 Date: Sun, 30 Nov 2025 14:22:49 +0800 Subject: [PATCH 4/4] lesson2 --- assignments/lesson2/shanyuyouwu5.md | 40 +++++++++++++++++------------ 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/assignments/lesson2/shanyuyouwu5.md b/assignments/lesson2/shanyuyouwu5.md index 7eb1e15..558dd10 100644 --- a/assignments/lesson2/shanyuyouwu5.md +++ b/assignments/lesson2/shanyuyouwu5.md @@ -1,33 +1,39 @@ +--- +editor_options: + markdown: + wrap: 72 +--- + # Git工具安装与使用报告 -## 学员GitHub用户名: example-user +## 学员GitHub用户名: shanyuyouwu5 ## 1. Git安装过程 -(在此处详细描述Git的安装过程,包括使用的操作系统、安装方法等) +Windows,使用之前下载的PortableGit,不用安装下载完后解压就可以, +包含git-bash.exe和git-cmd.exe,cmd版本windows更方便一些。 ## 2. 遇到的问题及解决方法 -(在此处列出安装过程中遇到的问题以及相应的解决方法) +使用简单没什么问题不过要注意一些README.md文件中的细节。 +如果使用提供的exe文件安装省时省能力,如果手动解压需要执行配置脚本或自己操作。 +如果需要配置环境变量可是手动配置,另外需要注意新配置的环境变量只在当前脚本中有效,长期使用可以进入配置文件中修改,Windows可以进入控制面板修改。 ## 3. 版本信息截图 -(在此处插入执行`git --version`命令后的截图) +![截图](夸克截图_2025-11-29_21-30-03.png) + ## 4. Git命令使用过程总结 -(在此处总结使用Git命令的过程,包括但不限于以下操作: -- git clone: 克隆远程仓库到本地 -- git add: 添加文件到暂存区 -- git commit: 提交更改到本地仓库 -- git push: 推送更改到远程仓库 -- git pull: 从远程仓库拉取最新更改 +- git config --local user.name ....(user name of github accouter)(本地环境仅限当前库) +- git config --local user.email ....(.... of github accouter) +(在此处总结使用Git命令的过程,包括但不限于以下操作: +- git clone:克隆远程仓库到本地 +- git add: 添加文件到暂存区 "."修改所有文件 +- git commit:提交更改到本地仓库 -m ....提交信息 +- git push: 推送更改到远程仓库 +- git pull:从远程仓库拉取最新更改 等其他相关命令的使用体验和理解) +使用gitignore文件。 ---- - -## 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