博客\

罗宇哲

2020-07-31

浏览

openEuler开源社区开发流程

标签: 开源社区 , git

# 使用git提交PR

一、环境准备

  1. 注册码云账号,地址:https://gitee.com
  2. 加入openEuler社区,地址:https://openeuler.org/zh/
  3. 安装git

3.1 windows安装:https://git-scm.com/download/win

3.2 linux安装:

openEuler: dnf install git

centOS: yum install git

ubuntu: apt-get install git
  1. git配置

4.1 全局配置用户名和邮箱

git config --global user.name "Your Name"

git config --global user.email <email@example.com>

4.2 链接远程仓库

1)生成SSH密匙

ssh-keygen -t rsa -C "youremail\@example.com"

cat \~/.ssh/id_rsa.pub

2)登录远程仓库网站Gitee账户并添加密匙

https://gitee.com/profile/sshkeys

二、提交PR

  1. 进入要修改的仓库,点击右上角的Forked,将其fork到自己的仓库,如下图所示。
  1. Fork成功之后会自动进入Fork的仓库目录,点击克隆/下载->选择复制任一链接。见下图。
  1. 将仓库clone到本地,并进入仓库目录。以上图perl-Text-ParseWords仓库为例。
git clone <https://gitee.com/dogsheng/perl-Text-ParseWords>.git

cd perl-Text-ParseWords
  1. 可以通过git remote –v查看所有远程库的url,见下图。

发现没有原作者的项目地址,使用git remote add upstream https://gitee.com/openeuler/perl-Text-ParseWords.git添加,再次执行git remote –v。如下图所示。

使用git remote set-url --push upstream no_push,设置不直接将改变推送到上游openEuler里面的仓库,而是只推送到自己Fork的gitee仓库下。见下图。

4.1 git fetch upstream与上游openEuler社区保持同步;如果是已提交过一次代码以后再做代码修改操作,可以跳过2.3/2.4两个步骤。

4.2 切换到master分支,并且把最新的代码同步下来。

git checkout master

git rebase upstream/master
  1. 建立并进入分支进行代码开发、改动。

git checkout –b *** // ***为自己定义的分支名,这里取名test_ci

5.1 cd指令进入软件包路径,修改代码; 如果是对已提交过的代码再进行修改,则追加git pull(从初次操作的clone变为pull)。

5.2 git add .

git commit –m “modify” //其中modify为进行改变的标题,自行定义

  1. 将代码提交到远端,***为步骤2.6建立的分支名称。git push -f origin ***。结果见下图。

注:

git config --global credential.helper store

输入上述命令以后用户名密码就会被git记住,之后在这个目录下都不需要再输入用户名密码了

  1. 进入改动过代码的自己的仓库,选择下图小标1,或者点击小标2后接着进入新建Pull Requests。
  1. 例子中2.6步建立的分支为test_ci,在新建Pull Requests之后,如下图所示

填写标题和说明即可创建Pull Request。

【版权声明】Copyright © 2021 openEuler Community。本文由openEuler社区首发,欢迎遵照 CC-BY-SA 4.0 协议规定转载。转载时敬请在正文注明并保留原文链接和作者信息。
【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。