文档章节

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

恺哥
 恺哥
发布于 2013/08/05 18:11
字数 909
阅读 5.3W
收藏 185

下午的时候,试着跟同事共同用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,希望对大家有所帮助。

© 著作权归作者所有

恺哥

恺哥

粉丝 168
博文 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
4.5K
0
【switch大奖】码云最佳实践征文大赛开始啦!分享你的码云最佳实践,惊喜好礼等你来拿~

活动介绍 在我们使用码云进行开发的过程中,经常会get到一些最佳的解决方法,这种方式通常比其他解决方式都更有效,如今越来越多的企业和开发者选择码云,为了更好地展示这些优秀企业和个人开...

小鱼丁
2019/05/26
594
4
Visual Studio 的码云扩展 - Gitee Extension for Visual Studio

Visual Studio 的码云扩展 安装 当前发布版本 Visual Studio Marketplace 最新构建版本 Open VSIX Gallery 注:Gitee.VisualStudio 只支持 Visual Studio 2015/2017/2019。 使用 Visual Stu......

麦壳饼
2019/03/20
1.1K
0
janwool/OkayPainter

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

janwool
2018/05/21
0
0
MaxBill/RedisPlus

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

MaxBill
2018/09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

刚哥谈架构 (五) 谈谈数据库架构

无论是构建什么样的应用,大都离不开数据。而在应用的架构设计中,如何设计数据库,使用什么类型的数据库,就是一个架构师必须了解的。所有的数据库的共同点都是以某种方式存储数据,以某种接...

naughty
今天
66
0
明洞明

尼石露🀄️华 🀄️华尼石露 叶果城🀄️华 悟明夫妻国 🀄️国梦🀄️国 国🀄️国世界

悟明夫妻国世界
今天
117
0
OSChina 周一乱弹 —— 妹子,我家的猫发芽了,你要来我家看看吗

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Gypsophila》- MoreanP 手机党少年们想听歌,请使劲儿戳(这里) @蓝瞳 :愁,明...

小小编辑
今天
107
1
Bochs入门

一、Bochs简介 Bochs(读音同 Box)是完全使用软件模拟PC的开源x86模拟器,与使用虚拟化技术的虚拟机相比,虽然速度慢,但非常适合开发、调试操作系统。 二、配置操作系统 Bochs根据配置文件...

悠悠子佩
今天
57
0
什么是哈希表?

我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫 Hash Table,也可以称为散列表或者 Hash 表。 哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数...

武培轩
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部