# Welcome to Dongshan Community **Repository Path**: dongshan-community/welcome-to-dongshan-community ## Basic Information - **Project Name**: Welcome to Dongshan Community - **Description**: 东山社区第一步,欢迎大家加入东山社区,提交在东山社区的第一份代码。 - **Primary Language**: C - **License**: 0BSD - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 15 - **Created**: 2025-09-30 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 欢迎加入东山社区 ## 介绍 欢迎各位新朋友加入东山社区!为了让大家更好地融入社区,我们特别准备了这个迎新环节。您可以在本仓库提交您的第一份代码,向大家展示您的编程能力和对社区的期望。 ## 目录结构 本仓库采用以下目录结构来组织成员提交的代码: ``` ├── README.md # 本文件,提供说明和指导 ├── 20251007 # 对应日期的文件夹 ├── 20251007_john/ # 成员文件夹,以 "YYYYMMDD_username" 格式命名 │ ├── intro.c # 成员的 C 语言代码 │ └── README.md # 成员的自我介绍和终端输出截图 │ └── screenshot.jpg # 相关截图文件 ├── 20251008 # 对应日期的文件夹 ├── 20251008_jane/ │ ├── intro.c │ └── README.md │ └── screenshot.jpg └── ... ``` * `YYYYMMDD`:成员提交代码的日期,例如 `20251007` 表示 2025 年 10 月 7 日。 * `username`:成员的东山社区用户名或昵称。 ## 提交步骤 请按照以下步骤提交您的迎新代码: 1. **fork仓库,下载代码**:点击页面右上方的Forked选项,将该项目fork到自己的仓库中,随后从自己的仓库拉取代码,并进入仓库底下对应日期的文件夹,假设今天是YYYY年MM月DD日。 ``` git clone https://gitee.com/YOUR NAME/welcome-to-dongshan-community.git cd welcome-to-dongshan-community ``` 2. **添加上游仓库**: 添加上游仓库,以便同步更新代码 ``` git remote add upstream https://gitee.com/dongshan-community/welcome-to-dongshan-community.git #验证是否添加成功 git remote -v #若添加成功,会出现如下输出 origin https://gitee.com/YOUR NAME/welcome-to-dongshan-community.git (fetch) origin https://gitee.com/YOUR NAME/welcome-to-dongshan-community.git (push) upstream https://gitee.com/dongshan-community/welcome-to-dongshan-community.git (fetch) upstream https://gitee.com/dongshan-community/welcome-to-dongshan-community.git (push) ``` 3. **切换分支**:切换到一个新分支,用于修改代码 ``` git remote update upstream -p git checkout -b your_branch_name git pull upstream master:your_branch_name ``` 4. **创建文件夹**:在YYYYMMDD目录下,创建一个以 `YYYYMMDD_username` 格式命名的文件夹。请将 `YYYYMMDD` 替换为当前日期,如20251010,将 `username` 替换为您的 Gitee 用户名或昵称。 ``` cd YYYYMMDD mkdir YYYYMMDD_username ``` 5. **编写 C 语言代码**:在您创建的文件夹中,创建一个名为 `intro.c` 的文件,并编写您的 C 语言代码。代码应包含您的自我介绍,以及您对东山社区的期望。 ``` cd YYYYMMDD_username touch intro.c ``` 6. **创建 README.md**:在同一个文件夹中,创建一个名为 `README.md` 的文件,并在文件中: * 使用中文描述您的代码和您对社区的期望。 * 附上您在终端运行代码后输出结果的截图。截图应清晰可辨,能够清楚地展示程序的输出内容。 7. **添加commit**:将您的文件夹和文件提交到自己的远程仓库。 ``` cd .. git add YYYYMMDD_username git commit -m "feat: 添加username的迎新代码 (YYYYMMDD)" ``` 其中`cd ..`是回到上一层文件夹,在提交之前要进入你想要上传代码文件的文件夹内。`git add xxx`是将`xxx`文件添加到本地仓库缓冲区;`git commit -m “xxxxx”`是正式更新本地仓库,`xxxxx`是提交时备注的信息; 8. **解决冲突**:因为自己仓库中的代码很有可能已经落后于社区,所以我们`push commit`前需要`rebase`,保证我们的commit是基于社区最新的代码 ``` git fetch upstream git rebase upstream/master ``` `rebase`后可能出现冲突。一般是由于多人同时编辑同一个文件引起的,此时只需要根据提示对冲突部分进行修改,将提示的冲突文件的冲突都解决后,执行 ``` git add . git rebase --continue ``` 当屏幕出现`rebase successful`后,即为所有冲突解决完毕,要注意使用rebase后需要用`git push -f`强制推送,这是一个有风险的操作,需要仔细检查以避免出现无关代码被强制覆盖的问题。 9. **提交代码**:`git push`是将本地仓库推送到远程仓库,提示输入的用户名和密码为自己gitee的用户名和密码。 ``` git push origin your_branch_name ``` 提交后仓库更新如下: ![图1](./docpicture/reporefresh.png "p1") ![图2](./docpicture/reporefresh1.png "p2") 点击Pull Requests提交代码:将您的文件夹和文件提交到东山社区的仓库。在提交时,请务必编写清晰、简洁的提交信息(commit message),以便于其他成员了解您的提交内容。 ![图3](./docpicture/createpr.png "p2") 提交后,请耐心等待审核。 ## 内容示例 以下是一个示例,展示了如何编写 `intro.c` 和 `README.md` 文件: **intro.c:** ```c #include int main() { printf("大家好,我是 john,东山社区的新成员!\n"); printf("很高兴加入这个充满活力的社区。\n"); printf("我希望能够在这里学习到更多实用的编程技能,\n"); printf("并尽我所能为社区做出贡献。\n"); return 0; } ``` **编译** 进行对应平台的编译 ```c gcc -o intro intro.c ``` **README.md** 20251007_john/README.md: ``` 自我介绍 大家好,我是 john,一名对编程充满热情的学生。我非常高兴能够加入东山社区,与各位优秀的开发者一起学习和交流。 对社区的期望 我希望能够在东山社区学习到更多关于嵌入式系统和 Linux 开发的知识,并参与到一些开源项目中,为社区做出自己的贡献。 终端输出 以下是我的代码在终端运行后的输出结果: 终端输出截图 // 请替换为实际截图 ``` ## 提交信息示例 在提交您的代码编写commit时,请参考以下示例编写提交信息: ``` feat: 添加 john 的迎新代码 (20251007) ``` 提交信息规范: feat: 表示这是一个新功能(即您的迎新代码)。 包含成员的用户名和提交日期,方便查找。 ## 许可证 本项目采用 BSD Zero Clause License ## 结语 感谢您的参与!我们期待在东山社区与你共同学习、共同进步。如果您在提交过程中遇到任何问题,欢迎随时与社区成员交流,我们会尽力提供帮助。