update Lab1.md

This commit is contained in:
ufh1tx4asd 2023-09-20 11:09:00 +08:00
parent a6f29e1b97
commit cace3bdb8e
1 changed files with 9 additions and 3 deletions

View File

@ -12,15 +12,21 @@
2. 将GitHub账号以邮件/微信形式发给助教助教发送GitHub邀请到[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)组织Lab 1、Lab 4和Lab5中涉及操作GitHub的部分均会在此进行此外后续的课程项目也会以此处告知的GitHub账号为准进行评分。 2. 将GitHub账号以邮件/微信形式发给助教助教发送GitHub邀请到[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)组织Lab 1、Lab 4和Lab5中涉及操作GitHub的部分均会在此进行此外后续的课程项目也会以此处告知的GitHub账号为准进行评分。
3. 在[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)中创建一个GitHub仓库名为`2023Fall-{学号}-Lab1`。 3. 在[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)中创建一个GitHub仓库名为`2023Fall-{学号}-Lab1`。
> 例如如果学号为2000012345那么仓库名应当为`2023Fall-2000012345-Lab1`。 > 例如如果学号为2000012345那么仓库名应当为`2023Fall-2000012345-Lab1`。
4. 在自己的个人电脑上安装git初始化一个git repository。 4. 在自己的个人电脑上安装git初始化一个git repository。
> 网上存在大量关于如何在Windows/Mac OS/Linux安装git、初始化git repository、和添加commit的教程我们在此推荐[MIT的Git教程](https://missing.csail.mit.edu/2020/version-control/)和[Pro Git前五章](https://git-scm.com/book/en/v2)也可自行搜索参考其他教程在此不再赘述除命令行外VS Code等IDE也提供非常便捷的git操作GUI。 > 网上存在大量关于如何在Windows/Mac OS/Linux安装git、初始化git repository、和添加commit的教程我们在此推荐[MIT的Git教程](https://missing.csail.mit.edu/2020/version-control/)和[Pro Git前五章](https://git-scm.com/book/en/v2)也可自行搜索参考其他教程在此不再赘述除命令行外VS Code等IDE也提供非常便捷的git操作GUI。
5. 在repository中创建README.md文件在文件中描述自己目前对开源项目的贡献想法为本学期的课程学习设定目标。 5. 在repository中创建README.md文件在文件中描述自己目前对开源项目的贡献想法为本学期的课程学习设定目标。
6. 在一个新的commit中添加README.md进入git仓库这个commit的commit message应当为`Add README.md with my OSS contribution plan`。 6. 在一个新的commit中添加README.md进入git仓库这个commit的commit message应当为`Add README.md with my OSS contribution plan`。
> 为了保证软件项目的可维护性特别是为了方便他人查看和理解一个项目的开发历史commit message的最低要求通常是**能够简明扼要地总结这个commit所包含的变更**。对于大型项目而言往往还会对commit message格式做出更加严格的要求例如[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)方便对commit进行自动化管理。 > 为了保证软件项目的可维护性特别是为了方便他人查看和理解一个项目的开发历史commit message的最低要求通常是**能够简明扼要地总结这个commit所包含的变更**。对于大型项目而言往往还会对commit message格式做出更加严格的要求例如[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)方便对commit进行自动化管理。
8. 将这个repository上传到[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)中你创建的GitHub仓库。
9. 建议上过一周课程后再继续这一步相比较于上一次你的贡献想法和计划发生了什么变化请在你创建的GitHub仓库中开启一个issue用一句话描述贡献想法和计划的变化。 7. 将这个repository上传到[OSS-Dev-Course-PKU](https://github.com/OSS-Dev-Course-PKU)中你创建的GitHub仓库。
8. 建议上过一周课程后再继续这一步相比较于上一次你的贡献想法和计划发生了什么变化请在你创建的GitHub仓库中开启一个issue用一句话描述贡献想法和计划的变化。
> 在真实的开源项目中Issue和PR的内容通常会有规定的[模板](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates)以便于维护者快速地处理新的Issue和PR在本Lab中因为相关的issue和PR过于trivial故不对内容作任何要求但是需要额外注意如果在真实的开源项目中提交issue和PR通常需要严格遵循其规定的贡献指南。之后的Lab中涉及到对成熟开源项目的贡献指南的观察和分析。 > 在真实的开源项目中Issue和PR的内容通常会有规定的[模板](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates)以便于维护者快速地处理新的Issue和PR在本Lab中因为相关的issue和PR过于trivial故不对内容作任何要求但是需要额外注意如果在真实的开源项目中提交issue和PR通常需要严格遵循其规定的贡献指南。之后的Lab中涉及到对成熟开源项目的贡献指南的观察和分析。
10. 将你创建的GitHub仓库fork到你自己的账号下新建一个分支并在新分支中添加一个或者多个新commit将想法的变化更新在README.md中随后切回主分支main删除其中README.md的内容并提交删除commit。此时在你创建的GitHub仓库中开启一个PR将新分支合并入主分支main解决存在的冲突设置reviewer为助教等待助教合并PR。
9. 将你创建的GitHub仓库fork到你自己的账号下新建一个分支并在新分支中添加一个或者多个新commit将想法的变化更新在README.md中随后切回主分支main删除其中README.md的内容并提交删除commit。此时在你创建的GitHub仓库中开启一个PR将新分支合并入主分支main解决存在的冲突设置reviewer为助教等待助教合并PR。
> 在Lab 1中你有直接合并PR的权限在真实的开源项目中通常只有核心维护者具有PR合并权限需要通过一轮或多轮[Code Review](https://en.wikipedia.org/wiki/Code_review)才能合并PR里的变更此外开源项目在开发过程中通常会选择在不同的[分支](https://docs.github.com/zh/desktop/making-changes-in-a-branch/managing-branches-in-github-desktop)中同步完成不同的开发工作从而使得不同的开发互不影响但在合并分支的过程中如果仓库内的不同分支同时对相同文件进行了更改通常会产生conflicts此时需要人为进行检查[解决合并冲突](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts),才能合并以获取分支中的最新更改。 > 在Lab 1中你有直接合并PR的权限在真实的开源项目中通常只有核心维护者具有PR合并权限需要通过一轮或多轮[Code Review](https://en.wikipedia.org/wiki/Code_review)才能合并PR里的变更此外开源项目在开发过程中通常会选择在不同的[分支](https://docs.github.com/zh/desktop/making-changes-in-a-branch/managing-branches-in-github-desktop)中同步完成不同的开发工作从而使得不同的开发互不影响但在合并分支的过程中如果仓库内的不同分支同时对相同文件进行了更改通常会产生conflicts此时需要人为进行检查[解决合并冲突](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts),才能合并以获取分支中的最新更改。
## 评分标准 ## 评分标准