文档贡献 | 技术文档贡献流程及注意事项(保姆级教程)

news2025/5/31 23:54:00

内容目录

一、注册流程

二、创建分支(Fork)

三、使用GitLab界面更新文件的MR流程

四、使用Git命令行工具更新文件的MR流程

五、注意事项

一、注册流程

1、注册页面

在长安链平台注册页面,输入手机号码 ,点击 “获取验证码”。注册即表示同意《长安链用户使用协议》《长安链服务条款》《长安链用户隐私保护协议》,填写完成后点击 “注册” 。若已有账号,可点击 “回到登录”。

图片

2、注册成功后,按照要求填写邮箱等信息

图片

图片

系统会发送一封邮件到填写的邮箱,邮件中包含激活链接,点击 “Confirm your email address” 进行邮箱激活。

图片

激活后账号方可正常使用。

图片

其他:

点击“Update profile settings”,完成信息更新。

图片

进入项目主页,可按照进行邮箱填写的完成检查,如果前面步骤均已完成,此步骤可忽略。

图片

注册完成后,若想使用 “邮箱 + 密码” 登录,需按照提示,点击 “set a password”,跳转至密码设置页面进行密码设置。设置完成后,在登录页面,输入已激活的邮箱和设置好的密码,即可登录长安链代码托管平台。

图片

注册流程到此结束,接下来可开展具体的开发任务。

二、创建分支(Fork

1、项目页面

登录后,进入长安链项目页面,找到感兴趣的项目(如 chainmaker-docs) ,点击项目名称进入项目详情页。

图片

2、创建分支

在项目详情页中,点击 “Fork” 按钮,选择要创建分支的命名空间,点击 “Select” 完成分支创建 

图片

3、查看分支

创建成功后,可在 “Your projects” 中查看新创建的分支

图片

三、使用GitLab界面更新文件的MR流程

1、进入项目仓库,找到要更新的文件(如 readme.md),点击文件名进入文件详情页

图片

2、在文件详情页中,点击 “Edit” 按钮,对文件内容进行修改

图片

例如,将 “联系电话” 修改为 “电话”。修改完成后,在 “Commit message” 中填写修改说明(如 “Update readme.md communicate”),选择目标分支(通常为 develop),点击 “Commit changes” 提交修改 。

图片

3、修改提交成功

图片

4、创建 Merge Request

提交修改后,点击 “New merge request” 创建合并请求。

图片

在 “Source branch” 和 “Target branch” 中选择相应分支。

·源分支 (Source Branch):包含待合并变更的起始分支(通常是您的功能分支或修复分支);

·目标分支 (Target Branch):接收合并变更的基准分支(如发布分支);

图片

填写 “Title” 和 “Description”(如 “测试:将‘联系电话’修改为‘电话’” )。

图片

确认无误后点击 “Compare branches and continue” 。

图片

图片

5、合并请求详情

在合并请求详情页中,可查看请求的详细信息,如提交者、提交时间、修改内容等,等待管理员审核并合并请求。

图片

【注意】错误:CLA未签署!

图片

按照提示进入https://chainmaker.org.cn/user/cla,进行CLA签署。

【注意!】gitlab id和邮箱信息务必填写正确且对应 否则平台仍然会提示CLA未签署!

图片

其中,“GitLab-ID”为下图“@”后的内容。

图片

信息填写完整后确认签署。

图片

签署成功。

图片

等待管理员合并请求。

图片

管理员合并请求。

图片

合并成功后可查看文件修改情况。

图片

合并成功。

查看修改情况:

图片

修改成功。

四、使用Git命令行工具更新文件的MR流程

1、 准备工作

(1) Fork 主仓库

1.访问主仓库(如 https://git.chainmaker.org.cn/chainmaker/chainmaker-docs)

2.点击 Fork 创建个人副本仓库(如 your-username/chainmaker-docs)

(2) 克隆你的 Fork 仓库

git clone git@git.chainmaker.org.cn:your-username/chainmaker-docs.git
cd chainmaker-docs

图片

【注意】需要在gitlab上事先配置SSH

配置流程:
终端获取ssh公钥:

cat ~/.ssh/id_rsa.pub

获取后复制公钥。

图片

图片

(3) 添加上游仓库(主仓库)

git remote add upstream git@git.chainmaker.org.cn:chainmaker/chainmaker-docs.git
git fetch upstream

图片

2、创建功能分支

(1) 从主仓库的最新 develop 分支创建新分支

git checkout -b docs/your-feature-name upstream/develop

·分支命名建议:docs/xxx(文档类)、fix/xxx(修复类)、feat/xxx(新功能)

图片

3、修改代码并提交

(1) 修改文件

vim README.md # 或其他文件

图片

图片

图片

(2) 提交更改

git add .
git commit -m "fix: 更新 README 中的联系邮箱"

图片

·Commit 规范

-fix: 表示问题修复

-feat: 表示新功能

-docs: 表示文档更新

4、推送到你的 Fork 仓库

git push -u origin docs/your-feature-name

·-u 设置远程跟踪分支,后续可直接 git push

图片

5、创建 Merge Request (MR)

(1) 访问 GitLab 仓库页面

进入你的 Fork 仓库(https://git.chainmaker.org.cn/your-username/chainmaker-docs)

图片

(2) 点击 Create Merge Request

·Source branch: docs/your-feature-name(你的分支)

·Target branch: 主仓库的分支(如v2.3.6分支)

·填写 MR 信息

-Title: fix: 更新 README 中的联系邮箱

-Description: 描述修改内容(可选附加截图或测试说明)

(3) 提交 MR

·等待维护者审核

·如需修改,继续在本地提交并 git push 更新 MR

(4) 删除远程分支

git push origin --delete docs/your-feature-name

MR流程到此结束。

五、注意事项

【注意-1】修改页面显示语言为中文

点击右上角头像→点击“Preferences”。

图片

滑动至页面底部,找到“Localization”的“Language”选项,选择熟悉的页面语言。

图片

【注意-2Gitlab中已fork代码与官方原项目代码同步问题

·通过可视化页面同步最新项目代码

1.在GitLab上,导航到你的Fork仓库页面。

2.点击左侧栏中“Settings”选项卡。

3.找到“Advanced”部分,点击“Expend”后,选择“Delete project”。

4.重新fork分支。

·通过Git命令行同步最新项目代码

1.克隆你的fork到本地:

git clone https://github.com/your-username/your-fork.git

2.确认你的remote中已经添加了上游地址,【如果已经存在上游地址,则可以跳过第4步】:

git remote -v

3.进入克隆的目录:

cd your-fork

4.添加原始项目的远程仓库:

git remote add upstream https://github.com/original-owner/original-project.git

5.拉取原始项目的最新更改:

git fetch upstream

6.切换到主分支(以main为例):

git checkout main

7.合并原始项目的更改到你的分支(如果有冲突,解决冲突并提交更改):

git merge upstream/main

8.将更新推送到你的fork:

git push origin main

【提示-3】关于普通MRDraft MR

Merge Request(MR)是 GitLab提供的代码审查与合并机制,用于将一个分支的变更合并到另一个分支(如 main 或 develop)。Draft MR(草稿合并请求)是标记为“未完成”的 MR,用于提前发起审查(代码未完成时获取早期反馈)、阻塞自动合并(防止误合并半成品代码)、协作讨论(团队成员可提前评论或提出建议)。

核心规则:同一分支不能同时存在多个活跃 MR(目标分支相同)。

Merge requests与Draft merge requests的区别:

图片

如何使用 Draft MR?

1.创建 MR 时勾选 "Mark as draft" 复选框。

2.或在 MR 标题前添加 Draft: 或 WIP:(如 Draft: 用户登录功能)。

3.将 Draft MR 转为就绪状态:① 在 MR 页面点击 "Mark as ready"。② 或修改标题,移除 Draft:/WIP: 前缀。

常见问题与注意事项

Q:能否对同一分支提交多个 Draft MR?

·允许,但目标分支必须不同(例如:feature/login → main 和 feature/login → staging)。

·禁止同一分支对同一目标分支提交多个 MR(无论是 Draft 还是普通 MR)。

【注意-4】提交MR,出现“Validate branches Another open merge request already exists for this source branch”报错

图片

可以看到是因为有提交的MR未审核的原因,可以和社区联络推动加快审核或关闭无效的MR。

图片

若是无用请求,点击“Close merge request”,关闭没用的MR。

图片

图片

问题解决。

【注意-5】遇见创建MR冲突,关闭无用MR需要在目标仓库close MR ,而不是在源仓库

由于不能同一分支对同一目标分支提交多个 MR,当遇到创建MR冲突时我们需要关闭之前创建的无用MR,这就需要在目标仓库关闭MR。

重复MR报错提醒:

图片

为了关闭无用MR,进入目标仓库查看:

图片

点击“Close merge request”关闭无用仓库:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2392011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

open-vscode-server +nodejs 安装

GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。https://gitcode.com/gh_mirrors/op/openvscode-server/?utm_sourceartical_gitcode&ind…

知行之桥如何将消息推送到钉钉群?

在钉钉平台中,机器人主要分为企业机器人和自定义机器人两类。本文将重点介绍如何通过自定义机器人,实现将知行之桥 EDI 系统的通知消息高效推送至钉钉群,帮助企业第一时间掌握业务动态。 一、在钉钉群中添加自定义机器人 在需要接收知行之桥…

09《从依赖管理到容器化部署:Maven 全链路实战笔记,解锁 Java 项目自动化构建的终极奥秘》

目录 一、Maven 核心基础强化 (一)Maven 架构与工作原理 1. 核心组件解析 2. 工作流程图示​编辑 (二)项目结构深度实践 1. 标准目录扩展说明 2. 多模块项目典型结构示例​编辑 二、依赖管理高级进阶 (一&…

<el-date-picker>组件传参时,选中时间和传参偏差8小时

遇到一个bug&#xff0c;不仔细看&#xff0c;都不一定能发现&#xff0c;bug描述&#xff1a;我们有一个搜索框&#xff0c;里面有一个时间选择器&#xff0c;当我使用<el-date-picker>时&#xff0c;我发现当我选择时分秒之后&#xff0c;显示都正常&#xff0c;但是当…

ST MCU CAN模块--TTCAN模式浅析

ST MCU CAN模块使用总结 1 前言 ​ 传统CAN 采用事件触发消息传输机制,CSMA/ CD AMP( Carrier-Sense Mult iple Access w ith Co llision Detect ion and Arbit ration on Message Priorit ies, 载波侦听、多路访问、冲突检测、优先级仲裁) 介质访问控制机制, 即多个消息同时…

谷歌浏览器Google Chrome v137.0.7151.41 中文版本版+插件 v1.11.1

一、软件介绍 这个版本解压就可以用&#xff0c;界面是中文的。 保留了核心功能&#xff0c; 二、软件特点 便携性 &#xff1a;解压即可使用&#xff0c;不想用了直接删掉整个文件夹。 增强功能 &#xff1a;通过Chrome增强软件劫持补丁chromev1.11.1 x64 (version.dll)实现多…

国芯思辰| 同步降压转换器CN2020应用于智能电视,替换LMR33620

在智能电视不断向高画质、多功能、智能化发展的当下&#xff0c;其内部电源管理系统的性能至关重要。同步降压转换器可以为智能电视提供稳定、高效的运行。 国芯思辰CN2020是一款脉宽调制式同步降压转换器。内部集成两个功率MOS管&#xff0c;在4.5~18V宽输入电压范围内可以持…

DeepSeek 提示词大全

目录 前言一、提示词基础理论 什么是提示词提示词的类型提示词的基本结构 二、提示词设计原则 明确指令结构化表达情境化需求渐进式引导边界与限制 三、场景化提示词模板 写作创作类角色扮演类信息提取类代码编程类教育学习类商业营销类生活助手类 四、提示词优化技巧 迭代式优…

俄罗斯无人机自主任务规划!UAV-CodeAgents:基于多智能体ReAct和视觉语言推理的可扩展无人机任务规划

作者&#xff1a;Oleg Sautenkov 1 ^{1} 1, Yasheerah Yaqoot 1 ^{1} 1, Muhammad Ahsan Mustafa 1 ^{1} 1, Faryal Batool 1 ^{1} 1, Jeffrin Sam 1 ^{1} 1, Artem Lykov 1 ^{1} 1, Chih-Yung Wen 2 ^{2} 2, and Dzmitry Tsetserukou 1 ^{1} 1单位&#xff1a; 1 ^{1} 1斯科尔…

结构性设计模式之Bridge(桥接)

结构性设计模式之Bridge&#xff08;桥接&#xff09; 摘要 桥接模式是一种结构性设计模式&#xff0c;其核心思想是将抽象部分与实现部分分离&#xff0c;使二者能够独立变化。本文通过汽车产品生产案例&#xff08;产品A/B与颜色红/蓝/黄&#xff09;展示了桥接模式的应用&…

Android 16系统源码_无障碍辅助(一)认识无障碍服务

前言 Android 的无障碍辅助功能&#xff08;Accessibility&#xff09;是一套专为残障用户或特殊场景设计的核心技术框架&#xff0c;旨在让所有用户都能便捷地操作设备。其功能覆盖视觉、听觉、运动能力和认知障碍支持&#xff0c;同时为开发者提供标准化 API 以实现应用适配…

分布式数据库备份实践

在分布式备份中可以采取两种方式进行备份&#xff0c;一种是采用手动编写backup.yml文件进行备份&#xff0c;另外一种是吧备份过程交给备份工具自动执行。如果需要个性化进行备份&#xff0c;建议采用手动编写备份文件方式进行备份。 以下是针对两种备份方式的实践&#xff1a…

如何发布npm包?

如何发布npm包&#xff1f; 1. 注册账号[npm官网](https://www.npmjs.com/)2. 检查 npm 源是否在官方 npm 仓库&#xff0c;如果不在&#xff0c;进行切换3. 检查4. 打包配置5. 发布6. 使用错误&#xff1a;版本更新命令 1. 注册账号npm官网 2. 检查 npm 源是否在官方 npm 仓库…

实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.6 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第5章析因设计引导5.7节思考题5.6 R语言解题。主要涉及方差分析&#xff0c;正态假设检验&#xff0c;残差分析&#xff0c;交互作用图&#xff0c;等值线图。 dataframe <-data.frame…

OpenCV计算机视觉实战(8)——图像滤波详解

OpenCV计算机视觉实战&#xff08;8&#xff09;——图像滤波详解 0. 前言1. 线性滤波1.1 均值滤波1.2 高斯滤波1.3 拉普拉斯滤波1.4 Sobel 滤波 2. 非线性滤波3. 自定义卷积核小结系列链接 0. 前言 在本文中&#xff0c;我们将深入探索线性与非线性滤波的算法原理、性能优化及…

自动化安全脚本学习

1.目录扫描器 目标&#xff1a;使用python编写一个自动化目录扫描工具&#xff0c;实现简单信息收集&#xff0c;判断目标网站是否存在常见路径。 import requests #用于发HTTP请求 from concurrent.futures import ThreadPoolExecutor #实现多线程扫描# 扫描目标 target h…

传输层协议TCP(上)

上一篇https://blog.csdn.net/Small_entreprene/article/details/148143494?fromshareblogdetail&sharetypeblogdetail&sharerId148143494&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 上文学习了传输层的协议之一UDP&#xff0c;接下来…

Windows下安装并使用kubectl查看K8S日志

【1】安装kubectl 官网文档&#xff1a;https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/ 下载后得到 kubectl.exe&#xff0c;放到一个目录下&#xff0c;然后配置环境变量。 此时CMD 进入DOS命令窗口 kubectl version【2】配置config文件 其实就是…

Android studio进阶开发(六)--如何用真机通过okhttp连接服务器

我们学过了如何通过okhttp查询网络上已经发布的网页&#xff0c;但我们还需要在做全栈时保证前后端能够交互。 前要课程 okhttp的使用 真机端口连接 安全认证 由于http的安全性较差&#xff0c;在没有安全协议的情况下&#xff0c;使用自己的后端连接会报错&#xff0c;所以…

WeakAuras Lua Script [ICC BOSS 11 - Sindragosa]

WeakAuras Lua Script [ICC BOSS 11 - Sindragosa] 冰冠堡垒Icecrown Citadel 冰龙 辛达苟萨&#xff08;寒冰信标插件&#xff09; 左 &#xff08;绿&#xff0c;黄&#xff09; 中(蓝&#xff0c;紫&#xff09; 右&#xff08;白&#xff0c;橙&#xff09; lua script&…