Git和GitHub相关
组员从GitHub上下载项目并上传项目的步骤如下
.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址 .克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下; .创建一个dev分支,代码:git branch dev .切换到dev分支下,代码:git checkout dev .把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev .在本地创建一个自己的分支,代码:git branch gbb .切换到自己的分支下,代码:git checkout gbb .这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上; .先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add * 、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
代码:git commit –m “备注信息” (注意:备注信息尽量详细些) 、把本地自己的分支提交到远程版本库里,代码:git push origin gbb 、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作; 、切换到本地的dev分支中,代码:git checkout dev 、把自己的分支和本地的dev分支合并,代码:git merge gbb 、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
代码:git push origin dev 、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
代码:git pull origin dev 、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
git push origin gbb
组员从GitHub上下载项目并上传项目的步骤如下
.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址 .克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下; .创建一个dev分支,代码:git branch dev .切换到dev分支下,代码:git checkout dev .把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev .在本地创建一个自己的分支,代码:git branch gbb .切换到自己的分支下,代码:git checkout gbb .这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上; .先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add * 、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
代码:git commit –m “备注信息” (注意:备注信息尽量详细些) 、把本地自己的分支提交到远程版本库里,代码:git push origin gbb 、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作; 、切换到本地的dev分支中,代码:git checkout dev 、把自己的分支和本地的dev分支合并,代码:git merge gbb 、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
代码:git push origin dev 、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
代码:git pull origin dev 、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
git push origin gbb
组员从GitHub上下载项目并上传项目的步骤如下
.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址 .克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下; .创建一个dev分支,代码:git branch dev .切换到dev分支下,代码:git checkout dev .把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev .在本地创建一个自己的分支,代码:git branch gbb .切换到自己的分支下,代码:git checkout gbb .这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上; .先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add * 、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
代码:git commit –m “备注信息” (注意:备注信息尽量详细些) 、把本地自己的分支提交到远程版本库里,代码:git push origin gbb 、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作; 、切换到本地的dev分支中,代码:git checkout dev 、把自己的分支和本地的dev分支合并,代码:git merge gbb 、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
代码:git push origin dev 、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
代码:git pull origin dev 、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
git push origin gbb
一、首先要明白Git和GitHub的关系
Git是一个版本控制工具
GitHub是一个用git做版本控制的项目托管平台。
二、OK,我们具体再来谈一下Git的相关知识
一、什么是Git?
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
二、Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息,例如)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,
或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
三、Git的优缺点
优点:
- 适合分布式开发,强调个体。
- 公共服务器压力和数据量都不会太大。
- 速度快、灵活。
- 任意两个开发者之间可以很容易的解决冲突。
- 离线工作。
缺点:
- 资料少(起码中文资料很少)。
- 学习周期相对而言比较长。
- 不符合常规思维。
- 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
四、利用GitHub合作开发的一般流程
首先需要组长给项目创建一个dev分支,然后把项目传送到GitHub上,这时GitHub上有两个分支(master和dev,master是Git初始化自己创建的),然后组长需要创建一个Organizations,
之后把组员邀请到Organizations里,并授权给组员有“写”的权限。
组员从GitHub上下载项目并上传项目的步骤如下
.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址 .克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下; .创建一个dev分支,代码:git branch dev .切换到dev分支下,代码:git checkout dev .把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev .在本地创建一个自己的分支,代码:git branch gbb .切换到自己的分支下,代码:git checkout gbb .这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上; .先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add * 、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
代码:git commit –m “备注信息” (注意:备注信息尽量详细些) 、把本地自己的分支提交到远程版本库里,代码:git push origin gbb 、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作; 、切换到本地的dev分支中,代码:git checkout dev 、把自己的分支和本地的dev分支合并,代码:git merge gbb 、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
代码:git push origin dev 、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
代码:git pull origin dev 、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
git push origin gbb
Git和GitHub相关的更多相关文章
- git与github使用
Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六. ...
- Git和Github简单教程
原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...
- Git和Github简单教程(转)
这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能: ...
- Git 一些关于 Git、Github 的学习资源
一些关于 Git.Github 的学习资源 昨天浏览 Github 的是时候发现了 Githug 这个游戏,这个游戏用来帮助菜鸟们学习使用 Git 的. Githug is designed to g ...
- 使用git向github中添加项目并更新(备忘录)
今天使用Git&github&ST3时,发现ST3不仅是git插件不能push成功,使用sublimegit插件也不行. 可能是没有掌握sublimegit的使用技巧,有待后续继续摸索 ...
- 【转】git与github在ubuntu下的使用 -- 不错
原文网址:http://www.cnblogs.com/cocowool/archive/2010/10/19/1855616.html 最近开始使用git对kohana3的文档做一些补充的工作,使用 ...
- SVN 、Git、Github的使用
1.1 SVN 总结以及使用建议 每一次保存历史记录实际上就是一次提交 什么时候去保存历史记录? 完成了一个具体的功能模块 代码运行没有bug 当天工作结束提交一次 没有 bug 的前提下去提交一次 ...
- Git和Github简单教程(收藏)
原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...
- 适合小白/外行的git与github最基础最浅显教程
首先声明,这是适合小白/外行/初学者/学生看的最基础最简单的git与github教程,已经能使用svn,git等工具的朋友请不要看这篇文章来浪费时间了. 想进一步学习git的,推荐去廖雪峰博客学习. ...
随机推荐
- quartz定时任务配置
参考:http://www.cnblogs.com/kay/archive/2007/11/02/947372.html Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quar ...
- [POJ] Brackets Sequence
This problem can be solved elegantly using dynamic programming. We maintain two arrays: cnt[i][j] -- ...
- FineReport----日期处理
日期处理:http://help.finereport.com/doc-view-819.html DAYSOFMONTH(date):返回当日的该月天数 DATEDELTA(Today(),-1): ...
- python的进程与线程
一.进程与线程的相关概念 1.什么是进程 进程是一个程序在一个数据集上的一次动态执行过程. 进程一般由程序,数据集,进程控制块三部分组成. 2.什么是线程 线程也叫轻量级进程,它是一个基本的CPU执行 ...
- python的socket的学习
一.Socket相关知识 1.socket是什么: socket是应用层与TCP/IP协议族通信的中间软件抽象层,他是一组接口.在设计模式中,Socket其实就是一个门面模式. 它把复杂的TCP/IP ...
- python类的相关知识第一部分
一.类的相关概念 (1).什么是类 具有同种属性的对象称为类,是个抽象的概念.比如说:汽车.人.狗.神: (2).什么是对象或实例 日常生活中的所有东西都是对象,是类的实例化.比如说:推土车是汽车的实 ...
- Collections工具类的使用
创建实体类 public class News implements Comparable { private int id; //新闻编号 private String title; //新闻标题 ...
- 原!mysql5.6 存储过程 批量建表
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; ...
- selenium入门基础知识
内容转载自:http://blog.csdn.net/huangbowen521/article/details/7816538 1.selenium介绍: Selenium是一个浏览器自动化操作框架 ...
- MySQL给字段唯一索引的三种方法
建表时添加 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `stu_id` ) NOT NULL AUTO_INCREMENT, ` ...