xuos-web/docs/community/contrib.md

152 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 为 XiUOS 贡献代码
热烈欢迎您加入XiUOS开发者社区贡献您的力量。
XiUOS采用git作为代码仓库开发流程如下图所示:
![git workflow](/images/workflow.png)
这里假定您对git已经有了一定的了解。
XiUOS的主代码库地址为 "https://code.gitlink.org.cn/panda/xiuos.git"
XiUOS的项目首页为
[https://www.gitlink.org.cn/xuos/xiuos](https://www.gitlink.org.cn/xuos/xiuos)
## 准备阶段
首先, 从XiUOS主库中复刻一份到自己的个人空间。
假定您在Trustie的用户名为 "panda"
::: warning TIPs
XiUOS开发分支为prepare_for_master社区开发者所有操作均在该分支上进行原则上主分支master不接受合并请求。
:::
### 步骤1 : 复刻
在浏览器中打开 XiUOS的项目首页 [https://www.gitlink.org.cn/xuos/xiuos](https://www.gitlink.org.cn/xuos/xiuos), 点击右上角的"复刻" 按钮
这样您就在自己的个人空间中有了XiUOS的一个复刻代码库, 地址为
项目首页为 "https://www.gitlink.org.cn/panda/xiuos"
代码库地址为 "https://code.gitlink.org.cn/panda/xiuos.git"
### 步骤2 : 下载到本地,并配置
* 从个人空间下载
```
git clone https://code.gitlink.org.cn/panda/xiuos.git
```
::: warning 警告
请务必记住将panda替换为您自己的用户名
:::
* 配置
```
# 设置 upstream
git remote add upstream https://code.gitlink.org.cn/xuos/xiuos.git
# 禁止直接向 upstream 推送代码
git remote set-url --push upstream no_push
```
## 工作阶段
### 步骤3 : fetch
**upstream(xuos/xiuos)** fetch 代码到本地
```
git fetch upstream
```
### 步骤4 : branch
为本次工作创建一个分支,命名为 `develop`
```
git checkout -b develop upstream/prepare_for_master
```
### 步骤5 : work, commit & commit
此时就可以在该分支下工作了, 不断修改代码,不断 commit
```
git add .
git commit -m "your commit message"
```
### 步骤6 : push & push
如果经过测试,您觉得在本地完成了代码工作,您就可以将代码推送到您自己的服
务器端的仓库中了。
```
git push origin develop
```
push到自己的服务器端库中后就可以准备创建`合并请求(Pull Request)`了。
### 步骤7 : fetch
从XiUOS的主库, 即 upstream 中, fetch 最新的代码
```
git fetch upstream
```
### 步骤8 : merge
将upstream 上最新的代码合并到你的当前工作分支
```
git merge upstream/prepare_for_master
```
此时请确保本地您位于工作分支。如果合并过程有冲突,您要负责解决冲突,并提交。
### 步骤9 : push
将消解了冲突的最新本地代码推送到个人服务器端仓库的develop分支。
```
git push origin develop
```
### 步骤10 : 合并请求(pull request)
到自己个人服务器端仓库的首页 https://code.gitlink.org.cn/panda/xiuos.git, 点击 **合并请求** ,
设置源分支:
选择 设定的工作分支, 本文的例子是 **develop** 分支
设置目标分支:
目标仓库选择 upstream 库, 即: "泛在操作系统实验室/xiuos"
目标分支选择 `prepare_for_master`
提交即可。
如果您的"合并请求"被核心开发者拒绝, 这种情况在开源社区很常见,所以请不要灰心失望, 请按照返回的意见修改完善,再提交即可。
### 更新本地和个人服务器端仓库的主分支
```
git fetch upstream
git checkout master
git merge upstream/master
git push origin master
```