使用git命令创建分支到团队项目
背景
在我们的团队中,我作为管理者,创建了一个叫HelloWorld的项目,大家各自在本地进行开发,将自己的工作贡献到我们的团队项目中。为了便于审核,我希望大家先将自己的贡献先放在属于自己的一个分支上,以后,你把你每次的贡献都放在这个分支。等我审核后,认为你的贡献是用心的、有价值,我再合并到主分支。这个主分支的所有内容就是我们进行团队开发最终的成果!是不是很有成就感!话不多说,关于git的使用背景和常用操作,小林老师已经给了大家博客链接。下面,咱们就开门见山,跟着我边做边学!
Step1:我们先去码云上把我创建的HelloWorld项目找到,并把它克隆下来。点击“克隆/下载”,把下面这个项目地址复制下来。
Step2:在本地某个文件夹(你希望这个项目放在哪,如下图我想把这个项目放在“软件工程助教”的文件夹下),进入该文件夹,右键选择git Bash Here 进行clone操作,我们使用的命令是:
git clone [项目地址]
这个项目地址就是你刚才复制的我们的项目地址。回车,出现了下图中提示,done.说明克隆完成,这时候你的文件夹下就有了一个HelloWorld的文件夹,以后,我们的每次贡献代码就放在这里。下面,我们要在这个HelloWorld文件里进行操作,所以要看仔细了,我们现在还没有进入到这个文件夹,我使用
cd HelloWorld/
进入到这个文件夹,现在我们就可以进行下面的工作了。
Step3:接下来,你就安心的进行开发吧,1个小时后(我相信以你的能力这点小问题1个小时完全可以解决!),你的代码完成了,就可以把你的工作贡献到项目上了,看下面我写好了一个HelloWorld_Test,存在于我们的HelloWorld文件夹下。
Step4:但是现在,我做的工作还在我本地,下面我们就要把我们做的工作贡献到远程的项目中(码云项目)。而且,正如我所说,我们做的工作难免会有疏漏和错误,这是不能直接作为项目的一部分的。所以我们还要在远程创建分支,先把我们的工作放在里面。接下来,我们继续进行操作(再次查看一下你的git命令行是否在HelloWorld这个项目文件夹里)先在本地创建一个分支,名叫mzf:
git checkout -b mzf
当你使用了我上面的命令时,实际上你不仅创建了一个新分支,而且你会发现你已经在这个分支里了,如下图蓝色括号里的内容由(master)变成了(mzf),如果你不放心有没有创建成功,还可以像我一样,使用
git branch -a
查看所有分支,来确定里面有没有属于你的那个分支,如下图,出现了master和mzf,说明我刚才创建的分支成功了。但是细心的你继续往下看,是否发现下图中的红色语句,它是在提醒我们:在远程仓库中,还没有这个分支,如果这个时候进行push,会将你的项目push到master分支,但这不是我们想要的。所以,我们还要创建远程的mzf分支。
Step5:要能使我们的工作push过去,我相信大家通过学习都知道还需要先进行git add和git commit -m操作,但是这里我还是想让大家养成好习惯:git add之前先查看。使用下面的命令:
git status
我们发现你工作的所有内容都会以红色的语句提示给你。确定这是你的工作内容后,就可以安心进行git add了。
git add .
git commit -m"test"
git add后的“."表示将所有文件从工作区存到暂存区,然后使用git commit -m "test"(引号的内容可以是本次更新版本等信息)将暂存区内容提交到本地分支。完成之后可以再查看一下当前状态。
Step6:将文件提交到本地分支后,就可以提交到远程仓库了。我们先进行
git push
这时候它提示我们下图中的语句,是说:远程没有这个分支,如果你想把mzf分支提交到远程的mzf分支,需要使用
git push --set-upstream origin mzf
这样,我们就在远程仓库也创建了一个同名分支,并且将本地分支的内容提交上去了。
Step7:我们进入码云的团队项目中查看分支,发现多了一个mzf分支,选择这个分支,里面的内容就是你提交的工作。至此,我们的任务就完成了。下面就是等待审核了。我相信,只要我们勤奋用心,我们的付出都是有价值的!
Step8:完成以上步骤之后,以后我们每次提交工作不需要再创建新的分支,而是提交到你第一次创建的分支中。这时,我们只需要先进入自己的分支,使用命令:
git checkout [分支名]
然后在该分支中进行add、commit 和push操作,而且由于仓库中已经有我们的分支,所以我们可以直接使用命令:
git push
总结与提示:
- 我已经把项目更名为:SE16_Item
- 在提交自己的工作之前,别忘了要先进入自己的分支(SE+学号后3位),再进行操作,别选错分支!
- 要想大家一起写我们的“HelloWorld”这个项目,你还必须得成为这个项目得开发成员,别担心,点击下面的邀请链接,你就可以成为这个项目的开发者,下面就开始我们的工作吧!
使用git命令创建分支到团队项目的更多相关文章
- git创建分支并提交项目
git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l] ...
- git 不能创建分支
git 不能创建分支,如下 fatal: cannot lock ref 'refs/heads/hotfix/aa': 'refs/heads/hotfix' exists; cannot crea ...
- 使用dos命令创建多模块Maven项目
好吧,咱们接着上一篇博客继续用另一种方式来创建Maven项目.不过在创建之前我们应该先熟悉一些相关dos命令. 创建web项目命令: mvn archetype:generate -DgroupId= ...
- git 命令合并分支代码
git 命令合并分支代码 对于复杂的系统,我们可能要开好几个分支来开发,那么怎样使用git合并分支呢? 合并步骤: 1.进入要合并的分支(如开发分支合并到master,则进入master目录) git ...
- 通过git命令“六步”提交新项目到码云
通过git命令“六步”提交新项目到码云 一.初始化本地仓库 git init 二.添加文件 git add . 三.添加远程数据仓库链接 git remote add origin https://g ...
- 如何使用git命令从github上取得项目
首先我们要安装git, git官网:https://git-scm.com/点击打开链接 拉取项目步骤详解 新建文件夹,最好取为项目英文名***Project 进入文件夹,空白处右键,选择git Ba ...
- git 命令 clone分支的代码
一个项目通常含有很多分支, master分支一般是经过测试,验证没有问题后,代码才会提交到master分支 develop分支,是测试经常拉下来进行测试的分支 直接复制develop分支的git 命令 ...
- eclipse上的git命令使用浅析,搭建Maven项目
eclipse上的git命令使用浅析 2016-03-31 14:44 关于eclipse上git的安装和建立代码仓库的文章比较多,但作为一个初识git的人更希望了解每个命令的作用. 当项目连接到 ...
- Apache Maven Cookbook(一)maven 使用命令创建、编译java项目
一.创建 使用命令创建项目分几步: 1.打开命令行窗口,比如cmd,把目录切换至想要创建项目地方. 2.执行如下命令: mvn archetype:generate -DgroupId=com.zua ...
随机推荐
- 怎样从本地删除git远程仓库里面的文件
git是大家通用的一种版本控制系统,便捷高效,各种命令需要牢记,今天小渔介绍给大家的是git的删除命令,即将文件从远程仓库中删除的操作. 方法/步骤 首先,我们打开自己的本地GIT仓库,在根目 ...
- C#的static
1.static意思是静态,可以修饰类.字段.属性.方法2.标记为static的就不用创建实例对象调用了,可以通过类名直接点出来3.static三种用法:4.用于变量前,表示每次重新使用该变量所在方法 ...
- map && multimap
map map 的意思是映射.用法一般是 map<char, int>mp 按照我的理解,map 类似于一个高级的数组.前面的数据类型 char 相当于下脚标,而数组元素的值就对应 ...
- redsi一主两从三哨兵
1.前提准备 防火墙,selinux,主机名解析,所有主机安装gcc [root@localhost ~]# vim /etc/hosts 192.168.122.135 redis_master ...
- OCP 12c题库出现大量新题,062新题-第21题
choose three Which three statements are true about Oracle checkpoint processing? A) Incremental chec ...
- C语言学习快速笔记
想看java底层的代码,调用了native方法,所以简单的学习了下C,看的是C程序设计语言这本书,主要是在学习基本语法,关于操作系统指令这块都没看. #define关键字用来定义常量,(定义和声明不一 ...
- highcharts为X轴标签添加链接
$(function () { var categoryLinks = { 'Foo': 'http://www.google.com/search?q=foo', 'Bar': 'http://ww ...
- 你真的会python嘛?
前言 我这个博客一直都是一些技术分享,show code的地方,我从来没有写过个人生活或者情感杂谈,当然我也从来没有谈论过我对什么东西的喜恶. 很多人喜欢喷XX语言,喜欢谈论XX和YY的优缺,甚至凑了 ...
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据
要求是这样子的,在一个列表页中,用户点击详细铵钮,带记录的主键值至另一页.在另一外页中,获取记录数据,然后显示此记录数据在网页上. 先用动图演示: 昨天有分享为ng-click传递参数 <ang ...
- LiveCharts文档-3开始-6轴Axes
原文:LiveCharts文档-3开始-6轴Axes LiveCharts文档-3开始-6轴Axes 通常来说,你可以自定义LiveChart里的任何东西,Axes也不例外.下面这幅图展示了Axes. ...