文档章节

git@osc中team开发、fork和pull request的用法

恺哥
 恺哥
发布于 2013/08/05 18:11
字数 909
阅读 24443
收藏 186

下午的时候,试着跟同事共同用git@osc来开发项目,现将一些使用过程记录下来,希望对大家有所帮助。

概念

团队开发:顾名思义,就是由多个项目成员共同开发一个项目,就像我们平时利用svn或cvs等版本控制服务器一样。

fork+pull request:假如你想为某个现有的开源项目贡献代码而你又不是该项目的项目成员的话,就用这种方式来提交你的修改。

在git@osc上如何进行

团队开发:

由项目创建者进入指定项目,在菜单栏上点击“设置”,会看到如下界面

然后点击“添加成员”


在用户栏中,输入成员名称,这块我总觉得有点诡异,下午同事刚刚注册了一个git账号,然后我在此处尝试了各种办法怎么也搜索不到指定用户,大概过了能有2个小时后,有神奇般的能搜索到了,我怀疑git@osc后台做处理了?或者账号注册后有生效时间?不管怎么样,在这块输入要找的用户名即可,比如:我要添加一位叫“杨小杨”的同学,输入“杨小杨”是找不到的,但输入他的账号邮箱“yangshuangjun”就可以找到,截止到目前,我还是没有摸清这个搜索用户的路数。

找到成员后,分配角色,一个是管理员、一个是开发者

这两个角色的区别详见这里:http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9

ok后,点击添加用户即可

随后,这个项目成员通过egit客户端直接clone项目,然后提交代码即可,使用上与svn极其类似。

fork+pull request:

首先找到你想要的项目,比如:

点击上图右上角的Fork按钮,确认后,该项目就会跑到你的名下了。意思是你对该项目做了一个分叉,相当于OO里边的继承,你可以在原项目基础上添加你的新逻辑,换句话说,Fork之后,这个项目就是你的了。

此时,利用egit将该项目import至eclipse工程中,然后你可以修改代码,然后commit and push来更新。

注意此时commit仅更新了你Fork后的项目,原项目并不会得到任何改变,此时,如果你想把你的代码贡献到原项目中,那么,此时就需要使用pull request操作了。

见下图:点击这里来创建一个pull request

点击后,见下图:

此处无非就是将你提交(贡献)的代码做一下详细的说明,让原作者充分了解你此次提交的目的。

编写完毕后,点击“提交 pull request”即可,截止到目前,你已经做完了pull request的创建工作;

此时,原项目就会收到一个pull request的申请,在这里会有显示

由于我这里没有实际的请求,所以显示的是0,如果有的话,点击pull requests

然后就会在界面上显示详细信息,包括:pull request的标题、详细描述以及详细的代码。

在该界面上,管理员可以选择“接受pull request”,如果选择 接受 的话,那么你所提交的代码将会自动合并到原项目中,也就完成了你的贡献。

上边讲的过程和概念完全适用于Github,希望对大家有所帮助。

© 著作权归作者所有

共有 人打赏支持
恺哥

恺哥

粉丝 170
博文 35
码字总数 22616
作品 0
哈尔滨
技术主管
加载中

评论(33)

带刀的麦兜
带刀的麦兜
我有10次commit 但我只想针对第8次commit发送pull request该怎么破?
g8up
g8up

引用来自“花儿笑弯了腰”的评论

请教一个问题,比如我现在fork了别人的代码,修正了一个BUG 后pull request上去了,过了段时间,原代码已经了更新了,怎么保证我fork的代码到最新状态,后去修改。

引用来自“天蝎冥王”的评论

只需要做一次:git remote add osc http://git.oschina.net/oschina/git-osc.git即可。
这只是添加了一个远程库。还得手动 fetch 一下吧?
n
nervergup
帮助了,感谢凯哥
maya8maya85
maya8maya85
osc是基于gitlab修改的,我们访问的不是真正的系统,是系统生成的缓存版,所以有部分功能要等缓存更新了才能看到效果。用户的添加就更加鸡肋了,以前我开发过这个系统。
天蝎冥王
天蝎冥王

引用来自“花儿笑弯了腰”的评论

请教一个问题,比如我现在fork了别人的代码,修正了一个BUG 后pull request上去了,过了段时间,原代码已经了更新了,怎么保证我fork的代码到最新状态,后去修改。
只需要做一次:git remote add osc http://git.oschina.net/oschina/git-osc.git即可。
花儿笑弯了腰
花儿笑弯了腰
请教一个问题,比如我现在fork了别人的代码,修正了一个BUG 后pull request上去了,过了段时间,原代码已经了更新了,怎么保证我fork的代码到最新状态,后去修改。
Karsak
Karsak
评论错了,在这里不能删除自己的评论????
Karsak
Karsak
晕了,看评论好像没啥人去动代码,提交完了才发现前面都有一二十人了啊
jbas
jbas
请问如何只把某几个文件创建一个pull request提交上去,而不是把所有的改动都pull上去
或者原作者那端如何只选择某个commit进行合并。谢谢
Albert-Liu
Albert-Liu
@恺哥
你文章中讲到的内容已经明白了,我现在的问题是:
如果我Fork了一个开源项目,没有对其进行过修改,过了几天后我发现在原项目已经更新了,我应该如何让我Fork的项目与原项目保持同步呢? 谢谢!
git@osc中协作开发、复制项目、贡献代码

git@osc可以让我们托管代码,进行版本控制,同svn等类似平台一样,可以帮助我们实现团队协作开发,无论你是否是项目团队成员。本教程完全适用GitHub 1. 概念 协作开发:顾名思义,就是由多个...

ooad
2015/01/06
0
0
MaxBill/RedisPlus

RedisPlus 项目介绍 RedisPlus是为Redis管理开发的桌面客户端软件,支持Windows 、Linux 、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的界面风格。该软...

MaxBill
09/04
0
0
janwool/OkayPainter

OkayPainter 项目介绍 Canvas画库 软件架构 软件架构说明 安装教程 xxxx xxxx xxxx 使用说明 xxxx xxxx xxxx 参与贡献 Fork 本项目 新建 Feat_xxx 分支 提交代码 新建 Pull Request 码云特技...

janwool
05/21
0
0
qixiaobo/swagger-offline-doc

swagger-offline-doc 项目介绍 基于swagger2的离线pdf和html文档生成 软件架构 软件架构说明 安装教程 使用说明 执行指令 mvn clean test -Dtest=SwaggerStaticDocTest 启动后可以访问swagg...

qixiaobo
08/03
0
0
编程界的小学生/common-boot-email

common-boot-email 项目介绍 SpringBoot发送邮件神器,只需简单配置即可,支持自定义模板。 软件架构 软件架构说明 安装教程 xxxx xxxx xxxx 使用说明 xxxx xxxx xxxx 参与贡献 Fork 本项目 ...

编程界的小学生
06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

12-利用思维导图梳理JavaSE-多线程

12-利用思维导图梳理JavaSE-多线程 主要内容 1.线程概念 2.线程开发 3.线程的状态 4.线程的同步和死锁 5.Java5.0并发库类 QQ/知识星球/个人WeChat/公众号二维码 本文为原创文章,如果对你有一...

飞鱼说编程
19分钟前
0
0
JAVA集合之ArrayList

一、前言 Java 集合类提供了一套设计良好的支持对一组对象进行操作的接口和类,JAVA常用的集合接口有4类,分别是: Collection:代表一组对象,每一个对象都是它的子元素 Set:不包含重复元素...

木木匠
40分钟前
1
0
转:XMLHttpRequest2 新技巧

”XMLHttpRequest 的异步调用网上找的例子运行没问题,但稍微改了一点点就报错”InvalidStateError: XMLHttpRequest has an invalid context“。断断续续 搞了3天终于通了,可以接收二进制文...

SamXIAO
59分钟前
2
0
=====D服务器定时任务=====

Linux定时任务 crontab linux系统是有cron这个系统服务来控制的,Liunx系统上包含很多的计划性工作,使用者自己可以设置计划任务,所以linux系统提供了使用者控制计划任务的命令 crontab的启...

覃光林
今天
1
0
xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部