联合项目开发GIThub使用

分支

在没有使用分支之前,git会默认有一个分支,

就是主分支(master分支,还记得 git push –u origin master这个命令吗?)

这里的master就是主分支

git分支的操作

(远端项目保存在我的git hub上面的一个仓库中)

(1)下载远端项目至本地

(1) 自己定义项目的路径 右键打开Git Bash Here

(2) 输入命令 $ git clone https://github.com/xxxx(仓库地址)

注:只有在项目开始的时候使用git clone 下载项目

以后每天早上是在项目目录下通过git pull 来拉取最新的项目代码

2.git分支创建及使用

整个项目框架下载完成后,项目成员可以通过git分支来实现部分代码更新与合并

使用流程:

早上刚来,你要做的事情abcd)

(1) 分支的基本应用

先进入项目文件夹,在项目文件夹内右键点击Git Bash Here

a. 查看远程仓库 $ git remote -v 这样可以看到自己连接的仓库是否正确

b. 拉取远程最新的代码 $ git pull (此时路径应该在master下)

c. 创建分支,分支名称自己定义(这里的fan是我自己定义的) $ git branch fan

d. 切换分支至自己创建的分支 $ git checkout fan

切换后 命令行分支路径会由以前的master主干变为分支(fan),就表示切换成功

备注:

以上c,d两步可简写为1行代码(创建并切换)

$ git checkout -b fan
这时候就在项目文件夹开发自己的代码,一顿增删改查骚操作,完成开发之后

一天过去了,到了晚上该提交你的项目了:

(晚上回去之前,你需要做的事情efghijk)

e. 在项目文件夹下进入命令行,目录必须是自己的分支(fan),而不是master

输入 $ git add .

$ git commit -m'第一次修改@fanfan'

f. 这时候切换到主分支 (切换分支之前一定要保证分支fan下已经

完全commit, 否则无法切换,即使用git status查看一下,没有红的绿的就表示提交完成)

$ git checkout master (切换至master分支)

g.再次拉取远程最新代码(此时路径应在master下)

$ git pull

这里解释一下为什么要切换到主分支并且重新拉取代码

因为咱们多个人,在你编写你的代码期间,别人可能已经上传、更新版了,这时候项目的

源代码或许已经改变,因此需要重新拉取

重新拉取的代码会重新下载到你的项目目录中,之前fan分支改变的内容会保存在你电脑的缓存区

h. 在你的主分支(master)下进行分支合并

$ git merge fan

i: 那么刚才只是在本地合并分支,我们需要将本地合并后的主干master上传到远端的master

$ git push https://github.com/xxx(仓库名) master:master

j: 这时候在远端查看一下,你的代码是否修改完成

k: 确认修改完成了 这时候删除你自己的分支 fan

$ git branch -d fan

强制删除命令($ git branch -D fan)
总结以下,我们项目中的每个人每天需要做的事情是什么呢?

项目开发过程中,每天每个成员都需要进行一次流程a-k

大致归为:远端获取最新代码-----新建分支-----切换到分支---(开始编写当天的代码)-----上传分支(add、commit)-------切换到主干------远端数据重新拉取(git pull)------新数据与分支合并(git merge)------上传至远端(git push)-------删除分支


注意事项

请勿在,master路径下执行如下操作,容易引起合并冲突

$ git add .

$ git commit -m "修改一次"

GitHub使用详细流程(多人开发)的更多相关文章

  1. [转] electron实战开发详细流程

    [From] http://www.myk3.com/arc-8856.html 很久没有更新博客,人越来越懒了,唉 说好做的electron教程距离上次玩electron已经过去了好几个月了.. 这 ...

  2. github如何多人开发一个项目

    github如何多人开发一个项目 一.总结 一句话总结:a.点项目里面的Settings->Collaborators,来添加参与者(比如github用户名), b.向他发送项目的link,让他 ...

  3. Github第三方登陆详细流程

    一. 流程图 二.具体实现步骤 Ⅰ.创建OAuth App 我们首先需要创建一个OAuth App,根据下图的步骤点击即可 依次填写信息,然后点Register application 然后我们可以看 ...

  4. GitHub超详细图文攻略

    GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git 分类: 转载2014-03-25 21:10 10641人阅读 评论(2) 收藏 举报 GitHubbr ...

  5. 【转】xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)

    原文网址:http://blog.csdn.net/mad1989/article/details/8167529 最近项目到了最后的阶段,测试完一切ok后,准备打包以及提交,不料看到网上众教程,好多 ...

  6. xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)

    链接地址:http://blog.csdn.net/mad1989/article/details/8167529 打包发布APP流程真机测试和APP发布流程APP提交审核流程真机测试打包发布上传出错 ...

  7. ios 真机测试与发布详细流程,基于最新的开发者网站,ios7,xcode5(有截图的哦)[[[第一部分真机测试]]]

    转载于:http://blog.csdn.net/lv_ruanruan/article/details/14446597 真机测试及发布详细流程,最新版 第一次一个人搞一个项目,我们老大规定,一个周 ...

  8. 全球首个全流程跨平台界面开发套件,PowerUI分析

    一.       首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...

  9. 微信小程序提交审核并发布详细流程

    微信小程序提交审核并发布详细流程 审核在1小时到N天不等 官方7天,一般3天内 提交审核?如何发布?审核过程中注意事项? 服务器: 域名只支持 https (request.uploadFile.do ...

随机推荐

  1. 【JZOJ3854】【NOIP2014八校联考第2场第2试9.28】分组(group)

    MEi Bsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄. 最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长 ...

  2. [Offer收割]编程练习赛104

    题目过于简单,没啥好说的,但是拿了个第一感觉很爽,记录一下 题目1 : 小Hi与魔法 排序,从1开始递增 #include <bits/stdc++.h> using namespace ...

  3. js(jquery)鼠标移入移出事件时,出现闪烁、隐藏显示隐藏显示不停切换的情况

    <script> $(".guanzhu").hover(function(){ $(".weixinTop").show(); },functio ...

  4. bzoj2752 高速公路

      列式子: 如果把从i号收费站到i+1号收费站之间路段编号设为i. 假如查询l号收费站到r号收费站之间的期望值. $ Ans_{l,r} = \sum\limits_{i=l}^{r-1} v_i ...

  5. 网络流24题 最小路径覆盖(DCOJ8002)

    题目描述 给定有向图 G=(V,E) G = (V, E)G=(V,E).设 P PP 是 G GG 的一个简单路(顶点不相交)的集合.如果 V VV 中每个顶点恰好在 P PP 的一条路上,则称 P ...

  6. laravle 事务

    DB::beginTransaction(); try{     $name = 'abc';     $result1 = Test::create(['name'=>$name]);     ...

  7. js、php判断手机PC

    用于phpcms <script type="text/javascript"> var url = window.location.href; if(/Android ...

  8. php一些易犯的错误

    1.mysql数据库字段是区分大小写的.字段在数组中要小写.(数据库字段UE_account) 错误的:

  9. Android中解析Json数据

    在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...

  10. jmter正则表达式提取器

    1.若返回的body内容为空,仅有 header值,则: \s代表为空 2.使用Debug来调试