上次面试被问到Git是怎么设计的,以前没有用过Git,今天花了点时间简单研究了一下其架构,下文是针对在使用GitHub时作为项目创建者和项目参与者使用git的一个总结
项目创建者:
1. 用git init创建一个远程仓库
2. 用git clone从远程仓库clone到本地
3. 用git push将本地修改推送到远程仓库
项目参与者:
1. 用git fork一个项目
2. 用git clone从复制的自己远程仓库clone到本地
3. 用git add upstream创建源项目地址
4. 用git push将本地修改推送到自己远程仓库
如果项目参与者想contribute代码:
方法1:
1. 项目参与者在本地环境用git remote add添加项目创建者的远程仓库
2. 项目参与者用git push remotename master 发起推送请求
3. 项目创建者接受请求,合并成功
推荐阅读:
如何在 GitHub 建立组织 http://www.linuxidc.com/Linux/2013-08/88197.htm
GitHub Linux下使用方法 http://www.linuxidc.com/Linux/2013-06/86417.htm
Windows下Eclipse搭建GitHub开发环境图文教程 http://www.linuxidc.com/Linux/2013-06/85372.htm
R语言 3.0.1 源码已经提交到 GitHub http://www.linuxidc.com/Linux/2013-05/84425.htm
从GitHub将Maven项目导入Eclipse4.2 http://www.linuxidc.com/Linux/2013-04/83082.htm
方法2:
1. 项目创建者在本地环境用git remote add添加项目参与者的远程仓库
2. 项目创建者用git fetch拉取项目参与者的远程仓库
3. 项目创建者手工merge