Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码
前言:
Pull Request的流程
1、fork
首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull request的项目的名称
2、clone
通过运行命令:git clone git@github.com:当前账户名/要克隆的仓库名.git(反斜杠后面那个是新的仓库的地址),将该仓库克隆到当前的开发环境中
3、branch
1、确定分支
通过在终端运行命令:git branch -a 查看当前所在的分支,通常我们都是在查看分支后在进行代码的修改,这是一个好习惯
2、创建特性分支
在应用GitHub修改代码时,我们通常采用的策略是在主分支下面创建一个特性分支,在该特性分支下进行代码的修改然后通过该分支 执行pull request操作,通过命令git checkout -b work master(这其中work为你新建的特性分支,master为你当前所在的分支)创建新的特性分支然后并自动切换。
4、添加修改
1、修改工程
在刚刚新创建的分支下对fork下的工程进行修改
2、提交修改
首先使用命令:git diff查看修改的内容是否正确,然后使用命令:git add (要添加的文件) 向仓库中添加文件,之后在执行命令:git commit -m "对这次提交的说明"
3、创建远程分支
要从GitHub发送pull request, GitHub那一端中的仓库必须要有一个包含了修改后的代码的分支,所以需要创建一个与刚刚创建的特定分支(修改所在的分支)相对应的远程分支
执行命令:git push origin work1(这其中origin为当时fork远程主分支的名称, 一般默许认为是origin,work1为本地工作的特性分支), 然后执行:git branch -a进行查看是否创建成功
5、发送pull request
进入到自己的GitHub账户下面,并切换到创建的特性分支下, 然后点击create pull request后,确定没问题,填写相关内容,然后点击send pull request
1、基于git做的协同开发:
1、初始化项目:git clone 仓库地址(生成仓库文件)
可以对这个项目名进行重命名:git clone url name(项目名)
2、git pull origin master(dev...)合并别人推送的分支
3、rebase可以帮助将提交的记录整理成一条直线(可以选择不进行这一步)
4、创建自己的开发的分支,并切换到自己的开发分支进行开发
5、将需要和别人协作开发的内容推送至公开分支:git push origin serverfix
协作者:git fetch origin
抓取远程跟踪分支,本地是不会有这个分支的,可以当成是一个指针
git merge origin /serverfix 合并内容到自己的分支
git checkout -b serverfix origin/serverfix 创建并切换到serverfix,起点从origin/serverfix
6、跟踪分支:
git checkout --track origin/serverfix 跟踪该分支,git pull自动识别这个分支进行合并
重命名本地分支:git checkout -b sf origin/serverfix
7、git fetch 从服务器拉取本地没有的数据
8、删除远程分支:git push origin --delete serverfix
9、远程仓库托管网站:GitHub、码云、gitlab
2、git常见命令
1、git init -- 初始化
2、git add -- 从工作区添加到版本库中
3、git commit -m "" -- 从暂存区添加到分支
4、git status -- 查看状态
5、git log -- 查看版本库的日志
6、git reflog -- 查看所有日志
7、git reset -head -- 版本号切换
8、git stash -- 保存
9、git stash -- 将第一个记录从某一个地方重新拿到工作区(可能户产生冲突)
git stash list -- 查看某个地方存储的所有记录
git stash clear -- 清空某个地方
git stash pop -- 将第一个记录从某个地方重新拿回到工作区(可能会产生冲突)
git stash apply -- 编号,将指定编号记录从某个地方拿回到工作区(可能会产生冲突)
git stash drop -- 编号,删除指定编号记录
10、git branch dev -- 创建分支
11、git branch -d dev -- 删除分支
12、git checkout dev -- 切换分支
13、git merge dev -- 合并分支
14、git branch -- 查看所有的分支
15、git clone https:xx -- 从某个地方克隆内容
16、git add origin https:xx -- 起个别名
17、git push origin dev -- 添加到dev分支中
18、git pull origin master -- 从主分支中拉取代码
19、git fetch origin master -- 从仓库区获取内容
20、git merge origin/master -- 和网上下的master分支进行合并
ps:在new一个新的仓库的时候,默认的分支是master分支
开发的分支:dev
做代码:review
程序员自己的分支:自己定义
1、每个员工创建自己的分支
2、将自己的代码提交到自己的分支
3、由组长或者老大来做代码的review -- 代码提交到review分支
4、在提交到dev分支
5、最后在合并到master分支上
3、stach的作用以及相关的命令
git stash -- 将当前工作区所有修改过的内容保存到某个地方,当工作区还原到当前版本还未修改过的状态
git stash list -- 查看某个地方存储的所有内容
git stash clear -- 清空某个地方
git stash pop -- 将第一个记录从某个地方重新拿到工作区(可能会产生冲突)
git stash apply -- 编号,将指定编号记录从某个地方重新拿到工作区(可能会产生冲突)
git stash pop -- 编号,删除指定编号的记录
4、merge和rebase的区别
merge:
会将不同的分支提交合并成一个新的节点,之前的提交分开显示,注重历史信息,可以看出每个分支信息,基于时间点,遇到冲突手动解决,然后再次进行提交。
rebase:
将两个分支的提交结果融合成线性, 不会产生新的节点,更注重的是开发的过程,遇到冲突手动解决,然后在继续操作。
5、如何基于git实现代码的review
review:老板、小组长、领导
review的内容:审查代码的规范
流程:master
dev
个人分支
review
个人提交代码到review分支,审查完毕之后由领导合并到dev分支中
6、git如何实现v1.0 v2.0等的版本的管理
git tag --> 查看标签
git tag -l "v1.8" --> 查看1.8开头的所有的版本
git tag -a v1.0 -m "one" --> 创建标签
git show v1.0 --> 查看1.0的这个标签
Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码的更多相关文章
- 在github上参与开源项目贡献代码
1 登录github, 点击自己感兴趣的repository的fork按钮,这样自己的github主页会有一个拷贝. 2 在自己本地修改同时保持和原来的repository同步: git remote ...
- GitHub上fork一个项目贡献代码以及同步原作者的修改【转】
如何贡献自己的力量 首先你总得有自己的github帐号吧,注册一个,非常简单,只需用户名,邮箱,密码,邮箱只是用来找回密码的,不做验证.因此注册后立即能用!比如我现在新注册一个叫JsLouvre的示范 ...
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- Git命令之从GitHub上下载开源项目
1,先在本地创建一个目录,作为本地仓库,如: 2,使用Git init 初始化仓库,git初始化完成后,会生成一个隐藏的git文件如: 3,clone Git项目,如: 4,这个项目就是合Github ...
- 花20分钟写的-大白话讲解如何给github上项目贡献代码
原文地址:http://site.douban.com/196781/widget/notes/12161495/note/269163206/ 本文献给对git很迷茫的新手,注意是新手,但至少会点基 ...
- (转)大白话讲解如何给github上项目贡献代码
转自:https://site.douban.com/196781/widget/notes/12161495/note/269163206/ 2013-03-30 22:53:55 本文献给对g ...
- 大白话讲解如何给github上项目贡献代码
本文献给对git很迷茫的新手,注意是新手,但至少会点基本操作,有点基本概念的新手,我不会从怎么用github和git是什么开始讲的.如果作为新手你看书又看不进去,原理又太复杂,又没有直接了当告诉我们怎 ...
- Git安装配置和提交本地代码至Github,修改GitHub上显示的项目语言
1. 下载安装git Windows版Git下载地址: https://gitforwindows.org/ 安装没有特别要求可以一路Next即可,安装完成后可以看到: 2. 创建本地代码仓库 打开G ...
- github上fork原项目,如何将本地仓库代码更新到最新版本?
场景: 在github上fork原项目,项目组成员发起pull request提交了代码,这时自己在本地仓库该如何更新到最新代码? 操作方法如下: 方法一.从github上进行操作然后更新 登录自己的 ...
随机推荐
- 19-11-10-Night
关于$Miemeng$,它死了. 大家有没有记得我在暑假里曾经写过一个著名模数? const int Mod=998224353; 现在有续集了(捂脸)(改不过题.jpg) const int Mod ...
- SpringBoot学习笔记(六):SpringBoot实现Shiro登录控制和权限控制
登录模块:在登录时必须调用 授权模块:不是一登录就调动,而是当角色权限控制时才会调用 登录控制 环境搭建在上一篇. 数据库表 表名:role 字段:id rolename 表名:user 字段:id ...
- JDK源码阅读--StringBuffer
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharS ...
- 版本控制git之三-多人协作 变基 推送 拉取 删除远程分支
版本控制git之三-多人协作 wangfeng7399已关注0人评论350人阅读2019-02-20 21:33:08 如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源 ...
- java基础之final关键字
final: 意为终态.在java中得注意以下四点: 1.final是一个修饰符,可修饰变量,方法,类. 2.final修饰子类不可以被继承. 3.final修饰的方法不可以被重写(覆盖) 4.对于一 ...
- yii2-user 一个好用的用户扩展
最近使用yii2做了一个系统,涉及到了用户登录等等,之前是自己写的一套,后来要添加邮箱验证功能.有点懒,然后看到了yii2-user这个扩展.简单说下,毕竟自己研究也不深. http://yii2-u ...
- Solr+HBase
- 简单的sequence unpacking
t = (1, 2, ‘hl’) x, y, z = t 上述方法可用于任何sequence
- svn里update以后还是有红色的感叹号怎么办
不用那么麻烦,直接还原就行了,客户端是TortoiseSVN的话,在该文件或文件夹上点右键,选择TortoiseSVN——revert有时还原之后系统反应没那么快,还是显示红色感叹号,刷新几下就正常了 ...
- jeecms添加站点
Step1:点击[站点管理],然后点击[添加站点]. Step2:按照下图填写,注意[路径]这一栏!!这里我随便写了个[aaa]. Step3:这个时候在本地部署的tomcat的模板路径:tomcat ...