152 lines
3.4 KiB
Markdown
152 lines
3.4 KiB
Markdown
# 为 XiUOS 贡献代码
|
||
|
||
热烈欢迎您加入XiUOS开发者社区,贡献您的力量。
|
||
|
||
XiUOS采用git作为代码仓库,开发流程如下图所示:
|
||
|
||

|
||
|
||
|
||
这里假定您对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
|
||
```
|