# 为 XiUOS 贡献代码

热烈欢迎您加入XiUOS开发者社区,贡献您的力量。

XiUOS采用git作为代码仓库,开发流程如下图所示:

git workflow

这里假定您对git已经有了一定的了解。

XiUOS的主代码库地址为 "https://git.trustie.net/xuos/xiuos.git"

XiUOS的项目首页为 https://forgeplus.trustie.net/projects/xuos/xiuos

# 准备阶段

首先, 从XiUOS主库中复刻一份到自己的个人空间。

假定您在Trustie的用户名为 "panda"

# 步骤1 : 复刻

在浏览器中打开 XiUOS的项目首页 https://forgeplus.trustie.net/projects/xuos/xiuos, 点击右上角的"复刻" 按钮

这样您就在自己的个人空间中有了XiUOS的一个复刻代码库, 地址为

项目首页为 "https://forgeplus.trustie.net/projects/panda/xiuos"

代码库地址为 "https://git.trustie.net/panda/xiuos.git"

# 步骤2 : 下载到本地,并配置

  • 从个人空间下载
git clone https://git.trustie.net/panda/xiuos.git

警告

请务必记住,将panda替换为您自己的用户名

  • 配置
# 设置 upstream
git remote add upstream https://git.trustie.net/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/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/master

此时请确保本地您位于工作分支。如果合并过程有冲突,您要负责解决冲突,并提交。

# 步骤9 : push

将消解了冲突的最新本地代码,推送到个人服务器端仓库的develop分支。

git push origin develop

# 步骤10 : 合并请求(pull request)

到自己个人服务器端仓库的首页 https://forgeplus.trustie.net/projects/panda/xiuos, 点击 合并请求 ,

设置源分支:

选择 设定的工作分支, 本文的例子是 develop 分支

设置目标分支:

目标仓库选择 upstream 库, 即: "泛在操作系统实验室/xiuos"

目标分支选择 master

提交即可。

如果您的"合并请求"被核心开发者拒绝, 这种情况在开源社区很常见,所以请不要灰心失望, 请按照返回的意见修改完善,再提交即可。

# 更新本地和个人服务器端仓库的主分支

git fetch upstream
git checkout master
git merge upstream/master
git push origin master
Last Updated: 4/28/2021, 8:59:48 PM