diff --git a/docs/zh/contribute/contribution_process.md b/docs/zh/contribute/contribution_process.md index 20172ed48fae959015e065bfdc033d692bf90d15..f7f9e7543b0b5d902d29e4118417e7e164fed372 100644 --- a/docs/zh/contribute/contribution_process.md +++ b/docs/zh/contribute/contribution_process.md @@ -89,7 +89,7 @@ openEuler 文档采用 Markdown 格式编写,通过 Git 进行版本管理, | ├─en | └─zh | └─2403_lts_sp2 # 版本:openEuler 24.03 LTS SP2 - | ├─oeawrae_user_guide.md # 文档内容文件 + | ├─oeaware_user_guide.md # 文档内容文件 | └─_toc.yaml # 文档目录结构文件 ``` @@ -129,7 +129,7 @@ openEuler 文档采用 Markdown 格式编写,通过 Git 进行版本管理, #### 修改文档 -以在《oeAware用户指南》中增加“认识oeAware”章节为例,首先在[《oeAware用户指南》的存放目录](https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/)下,新增文档内容文件`getting_to_konw_oeaware.md`,并在《oeAware用户指南》的 [_toc.yaml](https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/_toc.yaml) 下,增加对`getting_to_konw_oeaware.md`的引用: +以在《oeAware用户指南》中增加“认识oeAware”章节为例,首先在[《oeAware用户指南》的存放目录](https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/)下,新增文档内容文件`getting_to_know_oeaware.md`,并在《oeAware用户指南》的 [_toc.yaml](https://gitee.com/openeuler/oeAware-manager/blob/master/docs/zh/2403_lts_sp2/_toc.yaml) 下,增加对`getting_to_know_oeaware.md`的引用: ```yaml label: oeAware用户指南 # 手册名:《oeAware用户指南》 @@ -137,7 +137,7 @@ isManual: true # isManual:标识此 description: 动态感知系统行为后,智能使能系统的调优特性 # 手册简介 sections: - label: 认识oeAware # 章节名:认识oeAware // [!code ++] - href: ./getting_to_konw_oeaware.md # 新增的文档源文件地址 // [!code ++] + href: ./getting_to_know_oeaware.md # 新增的文档源文件地址 // [!code ++] - label: 使用oeAware # 章节名:使用oeAware href: ./oeaware_user_guide.md # 文档源文件地址 ``` diff --git a/docs/zh/contribute/directory_structure_introductory.md b/docs/zh/contribute/directory_structure_introductory.md index e27a7323ebb16cb8537be9e3e4d9bf164f255533..0138a849b82a70dbdca0a99c3c677f401ac7326b 100644 --- a/docs/zh/contribute/directory_structure_introductory.md +++ b/docs/zh/contribute/directory_structure_introductory.md @@ -98,7 +98,7 @@ openEuler 文档的生产发布机制如上图所示。 │ │ ├─network │ │ ├─performance │ │ ├─development -│ │ ├─high_availability +│ │ ├─high_availability │ │ ├─diversified_computing │ │ └─_toc.yaml │ ├─virtualization @@ -137,7 +137,7 @@ openEuler 文档的生产发布机制如上图所示。 │ │ │ └─tuning_framework │ │ │ └─oeaware │ │ ├─development -│ │ ├─high_availability +│ │ ├─high_availability │ │ ├─diversified_computing │ │ └─_toc.yaml │ ├─virtualization @@ -173,7 +173,7 @@ openEuler 文档的生产发布机制如上图所示。 │ │ ├─network │ │ ├─performance │ │ ├─development -│ │ ├─high_availability +│ │ ├─high_availability │ │ ├─diversified_computing │ │ └─_toc.yaml │ ├─virtualization @@ -209,7 +209,7 @@ openEuler 文档的生产发布机制如上图所示。 │ │ ├─network │ │ ├─performance │ │ ├─development -│ │ ├─high_availability +│ │ ├─high_availability │ │ ├─diversified_computing │ │ └─_toc.yaml │ ├─virtualization @@ -706,7 +706,7 @@ openEuler 文档存储于 [openEuler/docs](https://gitee.com/openeuler/docs) 仓 云底座操作系统 NestOS用户指南 - openeuler/cloudnative-docs/docs/zh/nestosS/nestos + openeuler/cloudnative-docs/docs/zh/nestos/nestos 混合部署 diff --git a/docs/zh/contribute/doc_review_test_process.md b/docs/zh/contribute/doc_review_test_process.md index 37cdbadc6d279e87cab3241c3fbe043e1a57fb40..be9e221e5f98922cb6875f6e245bac807d12a7f6 100644 --- a/docs/zh/contribute/doc_review_test_process.md +++ b/docs/zh/contribute/doc_review_test_process.md @@ -7,7 +7,7 @@ 下沉后: 基础特性文档(发行说明、安装指南)还放在docs仓,由doc-sig负责合入。 增量特性文档:oeaware用户指南、syscare用户指南,放在特性对应的代码仓,由sig maintainer负责合入。 -**问题**:文档下沉至sig组代码仓后,文档pr检视合入由sig mainatainer决定,doc-sig检视/测试验收是非必须的,由sig mainatainer决定并邀请,存在文档检视、测试不充分,导致文档质量无法得到保证。 +**问题**:文档下沉至sig组代码仓后,文档pr检视合入由sig maintainer决定,doc-sig检视/测试验收是非必须的,由sig maintainer决定并邀请,存在文档检视、测试不充分,导致文档质量无法得到保证。 ## 检视测试流程 @@ -31,7 +31,7 @@ 2. 提交文档issue(基础特性文档提到 docs 仓,增量特性文档提到各个 sig 组代码仓;如果提到 docs 仓,则由 doc sig maintainer 转到对应代码仓); 3. 特性 owner 处理 issue,提交文档 PR; 4. sig maintainer 检视文档; -5. 文档工程师检视文档,如仅低错修改,无需转测试;如涉及实际内容修改,则转测试(每周(或双周固定时间转测试,与update版本issue转测节奏保持一致); +5. 文档工程师检视文档,如仅低错修改,无需转测试;如涉及实际内容修改,则转测试(每周或双周固定时间转测试,与update版本issue转测节奏保持一致); 6. 测试工程师检视文档; 7. 特性 owner 修改 pr 意见; 8. sig maintainer 合入文档。 diff --git a/docs/zh/contribute/documentation_writing_specifications.md b/docs/zh/contribute/documentation_writing_specifications.md index 8e6937a10212703adc708f36f55110a048ebe265..620cff7d08acff1928042b5a17057b4b378ecb42 100644 --- a/docs/zh/contribute/documentation_writing_specifications.md +++ b/docs/zh/contribute/documentation_writing_specifications.md @@ -270,7 +270,7 @@ installation_and_deployment.md #新增‘安装与部署’文档 > [!NOTE]说明 > > - 请根据文档具体场景选择对应的注释符号,并按照使用方法正确使用样式。方括号内是英文感叹号。 -> - 说明/注意样式内可嵌套有序/无需列表,但不建议表格和代码块。 +> - 说明/注意样式内可嵌套有序/无序列表,但不建议表格和代码块。 > - 为避免样式断开,需要保证 `>`连续。 > - 说明/注意内容避免过长,可考虑写在正文或者分段,请不要添加过多样式内空行。 diff --git a/docs/zh/contribute/markdownlint_rules.md b/docs/zh/contribute/markdownlint_rules.md index df88ad9804e0c92e74cd3bedc09c53ee41b8f290..5a9a85ba1ceafff70766d4452c5c63d73877569f 100644 --- a/docs/zh/contribute/markdownlint_rules.md +++ b/docs/zh/contribute/markdownlint_rules.md @@ -123,7 +123,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 - **参数** - - `style`:指定无序列表的样式,有 `consistent(定义时符号前后保持一致)`、`astrisk(用星号定义)`、`plus(用加号定义)`、`dash(用减号定义)`、`sublist(定义多重列表的时候用不同的符号定义)`五种,默认为 `consistent`。 + - `style`:指定无序列表的样式,有 `consistent(定义时符号前后保持一致)`、`asterisk(用星号定义)`、`plus(用加号定义)`、`dash(用减号定义)`、`sublist(定义多重列表的时候用不同的符号定义)`五种,默认为 `consistent`。 - **错误示例** ```text @@ -285,7 +285,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 - **错误示例** ```text - sl + ls cat foo less bar ``` @@ -390,7 +390,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 - **参数** - `lines_above`:指定标题行上方的空行数,默认值是1。 - - `lines_below`:指定标题行方的空行数,默认值是1。 + - `lines_below`:指定标题行下方的空行数,默认值是1。 - **错误示例** ```text @@ -695,7 +695,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 _Another section_ - Consectetur adipiscing elit, sed to eiusmd + Consectetur adipiscing elit, sed to eiusmod ``` - **正确示例** @@ -707,7 +707,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 ## Another section - Consectetur adipiscing elit, sed to eiusmd + Consectetur adipiscing elit, sed to eiusmod ``` ### MD037 - 强调标记内强调的符号和强调的文字之间不能有空格 @@ -786,7 +786,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 ``` ```` -- **常用的代码块编程语音** +- **常用的代码块编程语言** | 语言支持 | 关键字 | | ---------------- | -------- | diff --git a/docs/zh/contribute/markdownlint_tools.md b/docs/zh/contribute/markdownlint_tools.md index 7759dddea275eab99a026a0fd677900e5bc12e03..5face77b985c117987a44ab0ca47e32209401549 100644 --- a/docs/zh/contribute/markdownlint_tools.md +++ b/docs/zh/contribute/markdownlint_tools.md @@ -32,7 +32,7 @@ npm error path /usr/local/lib/node_modules/markdownlint-cli2 npm error errno -13 ``` -以管理员身份解决该问题:如果是 Mac 或 Linux 系统,可以在命令前加 `sudo`;如果是 `Windows` 系统,在命令提示符或者Powershell中以管理员身份运行命令。 +以管理员身份解决该问题:如果是 Mac 或 Linux 系统,可以在命令前加 `sudo`;如果是 `Windows` 系统,在命令提示符或者PowerShell中以管理员身份运行命令。 ### 配置 markdownlint-cli2 diff --git "a/docs/zh/contribute/openEuler\345\274\200\346\272\220\347\244\276\345\214\272\350\264\241\347\214\256\346\214\207\345\215\227.md" "b/docs/zh/contribute/openEuler\345\274\200\346\272\220\347\244\276\345\214\272\350\264\241\347\214\256\346\214\207\345\215\227.md" index e2db405b65d0eea22701c7e6f73736cf74db9574..9fbd6c1708d44492aaca75348030032e4f4e0852 100644 --- "a/docs/zh/contribute/openEuler\345\274\200\346\272\220\347\244\276\345\214\272\350\264\241\347\214\256\346\214\207\345\215\227.md" +++ "b/docs/zh/contribute/openEuler\345\274\200\346\272\220\347\244\276\345\214\272\350\264\241\347\214\256\346\214\207\345\215\227.md" @@ -22,7 +22,7 @@ openEuler 是一款由全球开源贡献者构建的高效、稳定、安全的 | PowerPC | 提供对使用PowerPC微处理器的Mac计算机的支持,同时也会支持一些IBM的系统。 | [https://www.powerprogress.org/en/](https://www.powerprogress.org/en/) | | Apache | 以讨论Linux/Unix类操作系统技术、软件开发技术、数据库技术和网络应用技术等为主的开源技术社区网站。其宗旨是给所有爱好Linux/Unix技术、开源技术的朋友提供一个自由、开放、免费的交流空间。 | [https://community.apache.org/](https://community.apache.org/) | | SourceForge | SourceForge.net (SF.net)是开源软件的开发者进行开发管理的集中式场所,也是全球最大开源软件开发平台和仓库,由VA Software提供主机,并运行SourceForge软件。 | [https://sourceforge.net/](https://sourceforge.net/) | -| Google Source | 谷歌的android代码开源网站,包含了谷歌的各代nexus的源码,这些源码都是跟随android的版本演进。 | [https://android.googlesource.com](https://android.googlesource.com); [https://github.com/android/](https://github.com/android/) | +| Google Source | 谷歌的Android代码开源网站,包含了谷歌的各代Nexus的源码,这些源码都是跟随Android的版本演进。 | [https://android.googlesource.com](https://android.googlesource.com); [https://github.com/android/](https://github.com/android/) | ### 开源社区的角色 @@ -44,7 +44,7 @@ openEuler 是一款由全球开源贡献者构建的高效、稳定、安全的 ● 义务:你使用这个软件时必须履行什么样的义务 ● 限制:你不能够做什么事情 开源许可证是一类组合。对于大部分开源许可证,权利(红框)均授予,著作权人几乎不承担任何义务(蓝框),只是被授权人承担的义务又较多不同(绿框)。 (License遵从性指导书) -![iamge](figures/contribution-guide-02.png) +![image](figures/contribution-guide-02.png) 以下为openEuler docs SIG的许可证实例: ![image](figures/contribution-guide-03.png) @@ -75,7 +75,7 @@ Gitee 是开源中国社区2013年推出的基于 Git 的代码托管服务, ### Issue简介 **名词解释**:Issue是指一项待完成的工作,这个工作可以是问题、事务、需求和建议等。每一个Issue都包含该工作的所有信息和历史,便于后来的人了解该项工作的所有方面和过程。 -**来源和作用**:Issue的概念起源于客服部门,用户打电话反馈问题,客服就创建一个工单(ticket),后继每一个处理步骤、每一次和用户的交流都要更新到工单内,记录全部的过程信息,这就是Issue的前身。随着后来的不断扩展,逐步演变成制定和实施软件开发计划的全功能项目管理工具。 +**来源和作用**:Issue的概念起源于客服部门,用户打电话反馈问题,客服就创建一个工单(ticket),后续每一个处理步骤、每一次和用户的交流都要更新到工单内,记录全部的过程信息,这就是Issue的前身。随着后来的不断扩展,逐步演变成制定和实施软件开发计划的全功能项目管理工具。 openEuler社区直接使用Gitee提供的Issue跟踪和管理系统。 ### Issue基本功能 @@ -158,7 +158,7 @@ Pull Request(PR)是贡献者修改源代码后,请求目标仓库采纳该 **步骤 4** PR审核。 如果审核人通过你的PR,会在评论区添加/lgtm和/approve,以表示对本次PR提交的认同。 审核人可以在评论区发表意见,也可以在审核文件的时候,在发现问题处添加审核意见。无论哪种方式,都会在评论区显示出来。区别是,后者的评论会显示出“代码评论”,你可以通过“详情”查看评论具体指向的出处。 -为了表示对评审人意见的尊重,如果对意见有异议,请回复该意见说明原因;如果接纳评审人意见,也请做出简单的回应,便于确认后继的提交是否已按照所有接纳意见完成修改。 +为了表示对评审人意见的尊重,如果对意见有异议,请回复该意见说明原因;如果接纳评审人意见,也请做出简单的回应,便于确认后续的提交是否已按照所有接纳意见完成修改。 **请注意,在使用/approve前至少要有一个/lgtm。** ### 未完成PR标记 @@ -190,65 +190,93 @@ Pull Request(PR)是贡献者修改源代码后,请求目标仓库采纳该 请按照以下的复制过程将Repository内的代码下载到你的在计算机上。 1. 创建本地工作目录:需要创建本地工作目录,以便于本地代码的查找和管理。 -```mkdir /YOUR_PATH/src/gitee.com/${your_working_dir}``` + + ```mkdir /YOUR_PATH/src/gitee.com/${your_working_dir}``` + 2. 完成git上用户名和邮箱的全局配置(如果之前已经完成过此项配置,请忽略)。 -把git上的 user 设置成你gitee的个人名称: -```git config --global user.name "your Gitee Name"``` -配置你的git邮箱: -```git config --global user.mail "email@your_Gitee_email"``` +把git上的 user 设置成你Gitee的个人名称: + + ```git config --global user.name "your Gitee Name"``` + + 配置你的git邮箱: + + ```git config --global user.email "email@your_Gitee_email"``` + 3. 完成SSH公钥注册(如果没有完成此注册,每次都要重新输入账户和密码)。 -① 生成ssh公钥。 -```ssh-keygen -t rsa -C "email@your_Gitee_email"``` -```cat ~/.ssh/id_rsa.pub``` -② 登录你个人的远程仓库网站Gitee账户并添加你的ssh公钥。 -请在Gitee网页点击右上角的“个人头像”进入个人Gitee账户,并点击个人头像下的“个人设置”,进入个人设置页面。在“个人设置->安全设置”下,点击“SSH公钥”,在“添加公钥”内把cat命令获取到的ssh公钥添加进去。 -③ 在个人电脑上完成gitee在SSH上的登记。 -```ssh -T git@gitee.com``` - ->![image](figures/contribution-guide-13.png) - -**步骤 4** 克隆远程仓库到本地。 -● 请注意openEuler有几个组织,请确认你所下载的远程仓库的组织名称 -● 可以在repository内复制远程仓库的拷贝地址,得到$remote_link: ->![image](figures/contribution-guide-14.png) - -● 在本地电脑执行拷贝命令: -把远程 fork 仓库克隆到本地 -```git clone https://gitee.com/$user_name/$repository_name``` -设置本地工作目录的 upstream 源(被 fork 的上游仓库) -```git remote add upstream https://gitee.com/openeuler/$repository_name``` -设置同步方式 -```git remote set-url --push upstream no_push``` - -**步骤 5** 拉分支(可选)。 -```git fetch upstream``` -```git checkout master``` -```git rebase upstream/master``` -从这里拉分支: -```git checkout -b work``` -然后在 work 分支上编辑和修改代码。 + ① 生成ssh公钥。 -**步骤 6** 保持你的分支与master同步。 -```While on your work branch``` -```git fetch upstream``` -```git rebase upstream/master``` -执行merge的时候,请不要使用 git pull 替代上面的 fetch/rebase。因为这种方式会使提交历史变得混乱,并使代码难以理解。 -**步骤 7** 在本地工作目录提交变更。 + ```ssh-keygen -t rsa -C "email@your_Gitee_email"``` + + ```cat ~/.ssh/id_rsa.pub``` + + ② 登录你个人的远程仓库网站Gitee账户并添加你的ssh公钥。 + 请在Gitee网页点击右上角的“个人头像”进入个人Gitee账户,并点击个人头像下的“个人设置”,进入个人设置页面。在“个人设置->安全设置”下,点击“SSH公钥”,在“添加公钥”内把cat命令获取到的ssh公钥添加进去。 + ③ 在个人电脑上完成Gitee在SSH上的登记。 + + ```ssh -T git@gitee.com``` + + >![image](figures/contribution-guide-13.png) + + **步骤 4** 克隆远程仓库到本地。 + ● 请注意openEuler有几个组织,请确认你所下载的远程仓库的组织名称 + ● 可以在repository内复制远程仓库的拷贝地址,得到$remote_link: + >![image](figures/contribution-guide-14.png) + + ● 在本地电脑执行拷贝命令: + 把远程 fork 仓库克隆到本地 + + ```git clone https://gitee.com/$user_name/$repository_name``` + + 设置本地工作目录的 upstream 源(被 fork 的上游仓库) + + ```git remote add upstream https://gitee.com/openeuler/$repository_name``` + + 设置同步方式 + + ```git remote set-url --push upstream no_push``` + + **步骤 5** 拉分支(可选)。 + + ```git fetch upstream``` + + ```git checkout master``` + + ```git rebase upstream/master``` + + 从这里拉分支: + + ```git checkout -b work``` + + 然后在 work 分支上编辑和修改代码。 + + **步骤 6** 保持你的分支与master同步。 + + ```While on your work branch``` + + ```git fetch upstream``` + + ```git rebase upstream/master``` + + 执行merge的时候,请不要使用 git pull 替代上面的 fetch/rebase。因为这种方式会使提交历史变得混乱,并使代码难以理解。 + **步骤 7** 在本地工作目录提交变更。 + + 提交你的变更 -提交你的变更 -```git add .``` -```git commit -m "提交原因"``` -**步骤 8** 在Gitee上创建一个 pull request。 + ```git add .``` + + ```git commit -m "提交原因"``` -1. 访问你在 的页面。 -2. 把你的分支选到提交使用的 work 分支上,点击+ Pull Request 。具体位置如下图所示: -3. 在创建新PR界面,确认源分支和目标分支,选择创建。 + **步骤 8** 在Gitee上创建一个 pull request。 ->![image](figures/contribution-guide-15.png) + 1. 访问你在 的页面。 + 2. 把你的分支选到提交使用的 work 分支上,点击+ Pull Request 。具体位置如下图所示: + 3. 在创建新PR界面,确认源分支和目标分支,选择创建。 -**步骤 9** 查看和回应代码审查意见。 -你提交PR申请后,PR被分配给一个或多个检视者。这些检视者将进行检视,以确保提交的正确性,不仅包括代码的正确,也包括注释和文档等。 -(Gitee工作流说明) + >![image](figures/contribution-guide-15.png) + + **步骤 9** 查看和回应代码审查意见。 + 你提交PR申请后,PR被分配给一个或多个检视者。这些检视者将进行检视,以确保提交的正确性,不仅包括代码的正确,也包括注释和文档等。 + (Gitee工作流说明) ## Git与 VSCode基础 @@ -264,7 +292,7 @@ Git是一个免费的、开源的分布式版本控制系统,可以有效、 >![image](figures/contribution-guide-16.png) ● 图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。 -● 图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。 +● 图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个“游标”。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。 ● 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。 ● 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。 ● 当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。 @@ -273,7 +301,8 @@ Git是一个免费的、开源的分布式版本控制系统,可以有效、 #### Git 创建仓库 ● Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。在执行完成 git init 命令后,Git仓库会生成一个.git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。 -如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉Git开始对这些文件进行跟踪,然后提交: +如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉Git开始对这些文件进行跟踪,然后提交: + ```$ git add *.c``` ```$ git add README``` @@ -285,23 +314,31 @@ Git是一个免费的、开源的分布式版本控制系统,可以有效、 所以在 git bash 中 git commit -m '提交说明' 这样是可以的,在Windows命令行中就要使用双引号 git commit -m "提交说明"。 ● 我们使用 git clone 从现有 Git 仓库中拷贝项目。 -克隆仓库的命令格式为: -```git clone ``` -如果我们需要克隆到指定的目录,可以使用以下命令格式: -```git clone ``` +克隆仓库的命令格式为: + +```git clone ``` + +如果我们需要克隆到指定的目录,可以使用以下命令格式: + +```git clone ``` + 参数说明: repo: Git 仓库。 directory: 本地目录。 -比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令: -```$ git clone git://github.com/schacon/grit.git``` +比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令: + +```$ git clone git://github.com/schacon/grit.git``` + 执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。 -如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字: +如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字: + ```$ git clone git://github.com/schacon/grit.git mygrit``` -● 我们使用如下命令设置提交代码时的用户信息。 +● 我们使用如下命令设置提交代码时的用户信息。 + ```$ git config --global user.name xxx``` -```$ git config --global user.email xxx@xxx``` +```$ git config --global user.email xxx@xxx.com``` 如果去掉 --global 参数只对当前仓库有效。 @@ -310,12 +347,14 @@ directory: 本地目录。 Git常用的是以下6个命令:**git clone**、**git push**、**git add** 、**git commit**、**git checkout**、**git pull** >![image](figures/contribution-guide-17.png) -一个简单的操作步骤: +一个简单的操作步骤: + ```$ git init``` ```$ git add .``` -```$ git commit``` +```$ git commit``` + ● git init - 初始化仓库。 ● git add . - 添加文件到暂存区。 ● git commit - 将暂存区内容添加到仓库中。 @@ -365,39 +404,51 @@ Git常用的是以下6个命令:**git clone**、**git push**、**git add** 、 如果发现提交的PR带有以下的标记,说明你提交的PR和本地存在冲突,需要处理冲突。 >![image](figures/contribution-guide-18.png) -**步骤 1** 先将分支切换到master上,并完成master的rebase。 -```git checkout master``` -```git fetch upstream``` +**步骤 1** 先将分支切换到master上,并完成master的rebase。 + +```git checkout master``` + +```git fetch upstream``` + ```git rebase upstream/master``` -**步骤 2** 再将分支切换到您使用的分支上,并开始rebase。 -```git checkout yourbranch``` +**步骤 2** 再将分支切换到您使用的分支上,并开始rebase。 + +```git checkout yourbranch``` + ```git rebase master``` **步骤 3** 此时你可以在git上看到冲突的提示,你可以通过vi等工具查看冲突。 -**步骤 4** 解决冲突以后,再把修改提交上去。 -```git add .``` -```git rebase --continue``` +**步骤 4** 解决冲突以后,再把修改提交上去。 + +```git add .``` + +```git rebase --continue``` + ```git push -f origin yourbranch``` ##### 合并提交 -如果你提交了一个PR以后,根据检视意见完成修改并再次提交了PR,不想让审阅者看到多次提交的PR,因为这不便于继续在检视中修改,那么可以合并提交的PR。合并提交的PR是通过压缩Commit来实现的。 -**步骤 1** 现在本地分支上查看日志。 +如果你提交了一个PR以后,根据检视意见完成修改并再次提交了PR,不想让审阅者看到多次提交的PR,因为这不便于继续在检视中修改,那么可以合并提交的PR。合并提交的PR是通过压缩commit来实现的。 +**步骤 1** 现在本地分支上查看日志。 + ```git log``` -**步骤 2** 然后把顶部的n个提交记录聚合到一起进入,注意n是一个数字。 -```git rebase -i HEAD~n``` +**步骤 2** 然后把顶部的n个提交记录聚合到一起进入,注意n是一个数字。 + +```git rebase -i HEAD~n``` + 把需求压缩的日志前面的pick都改成s,s是squash的缩写。注意必须保留一个pick,如果将所有的pick都改成了s就没有合并的目标了,会发生错误。 **步骤 3** 修改完成以后,按ESC键,再输入:wq,会跳出一个界面,问你是否进入编辑提交备注的页面,输入e以后,进入合并提交备注的页面。请把需要合并的备注都删掉,只保留合并目标的备注,再按ESC键,输入:wq保存退出即可。 -**步骤 4** 最后完成提交。 +**步骤 4** 最后完成提交。 + ```git push -f origin yourbranch``` **步骤 5** 回到gitee上的PR提交页面查看,您就可以看到之前的提交已经合并了。 -详细请见:。 +详细请见:。 (Gitee工作流说明) ### VS Code @@ -459,17 +510,23 @@ REMOTES 显示远端库中所有分支的提交。右键选择 Switch to Branch. 为防止创建的Pull Request与上游仓内容冲突,强烈建议每次提交前将上游仓的 commit 拉取到当前分支。 -**步骤 1** 在VS Code中添加上游仓。以主仓openEuler/docs为例,在网页端克隆/下载按钮复制SSH地址 git\@gitee.com:xxxx.git。运行以下命令添加主仓,显示在源代码管理页的REMOTE下: -```git remote add upstream git@gitee.com:xxxx.git``` +**步骤 1** 在VS Code中添加上游仓。以主仓openEuler/docs为例,在网页端克隆/下载按钮复制SSH地址 git\@gitee.com:xxxx.git。运行以下命令添加主仓,显示在源代码管理页的REMOTE下: + +```git remote add upstream git@gitee.com:xxxx.git``` + upstream 为自定义名称 -**步骤 2** 抓取主仓的commits。 +**步骤 2** 抓取主仓的commits。 + ```git fetch upstream``` ```git fetch upstream``` -**步骤 3** 将主仓的commits合并到本地的分支。以 master 分支为例: -```git checkout master``` -↑切换到 master 分支,如已在 VS Code 中切换则省略 +**步骤 3** 将主仓的commits合并到本地的分支。以 master 分支为例: + +```git checkout master``` + +↑切换到 master 分支,如已在 VS Code 中切换则省略 + ```git merge upstream/master``` **步骤 4** 解决源代码管理中提示的冲突(如有),然后提交自己的改动。 @@ -493,9 +550,9 @@ upstream 为自定义名称 #### 推荐扩展 ● Markdown Editor (zaaack.markdown-editor),支持所见即所得模式和分屏预览模式的 Markdown 编辑器。 -● Markdown Preview Enhanced (shd101wyy.markdown-preview-enhanced),增强 Markdown 预览功能,包含 TOC 自动生成功能。快捷方式同样为 Ctrl+Shift+V,覆盖 VSCode 自带的预览查看器。安装后如果需要使用自带的预览查看器,在编辑器窗口顶端的文件标签上右键 -> 打开预览。自带的查看器中,双击句段可以跳转到原文相应句子。 +● Markdown Preview Enhanced (shd101wyy.markdown-preview-enhanced),增强 Markdown 预览功能,包含 TOC 自动生成功能。快捷方式同样为 Ctrl+Shift+V,覆盖 VSCode 自带的预览查看器。安装后如果需要使用自带的预览查看器,在编辑器窗口顶端的文件标签上右键 -> 打开预览。自带的查看器中,双击句子可以跳转到原文相应句子。 自动生成 TOC:>markdown preview enhanced: create toc (需要保持预览窗口打开)。保存时自动更新 TOC。 -● GitHub Markdown Preview (bierner.github-markdown-preview),或仅安装其中的核心扩展 Markdown Preview Github Styling (bierner.markdown-preview-github-styles),以 GitHub 格式显示 Markdown 预览,效果接近Gitee网页。 +● GitHub Markdown Preview (bierner.github-markdown-preview),或仅安装其中的核心扩展 Markdown Preview GitHub Styling (bierner.markdown-preview-github-styles),以 GitHub 格式显示 Markdown 预览,效果接近Gitee网页。 ● Code Spell Checker (streetsidesoftware.code-spell-checker),自然语言拼写检查扩展,除英语外还有多种语言可选。 ● CJK Word Handler (sharzyl.cjk-word-handler)。VSCode 默认以空格、","、"." 等英文符号作为分隔符,导致整句中文被识别为一个整词,使用 Ctrl+←/→ 相关操作时非常不便。这个扩展可以让 VSCode 支持中文分词逻辑。 ● Bookmarks (alefragnani.bookmarks),以行为坐标添加书签。