高校教学中如何使用 Git 创建分支到团队项目?

码云高校版,是开源中国和国防科技大学Trustie团队深度合作推出的教学实践环境,该平台融入Trustie群体化方法与技术的重要成果,为高校软件工程人才培养赋能助力。

高校的传统软件工程实践教学方式,即学生在实验室编写好代码,通过使用U盘拷贝或者QQ邮箱的方式发送给教师审核代码,过程繁琐且易出问题。而在 码云 使用 Git 分支之间互不影响,成员可以独立开发,这样不仅可增加团队软件开发的效率,还可帮助教师节省时间,提升课堂教学水平。

在我们的团队中,我作为管理者,创建了一个叫 HelloWorld 的项目,大家各自在本地进行开发,将自己的工作贡献到我们的团队项目中。为了便于审核,我希望大家先将自己的贡献先放在属于自己的一个分支上,以后,你把你每次的贡献都放在这个分支。等我审核后,认为你的贡献是用心的、有价值,我再合并到主分支。这个主分支的所有内容就是我们进行团队开发最终的成果!是不是很有成就感!下面,咱们就开门见山,跟着我边做边学!

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

总结与提示:

通过以上步骤,不仅提高了学生提交实验代码效率,还很好的培养了学生的团队协作与沟通能力。通过 码云 构建真实的“情景化”教学,使得每一个知识点都简单明了,易于掌握。最重要的是,随时随地教师都可以与学生进行互动,答疑解惑,改变了高校传统教学中固定时间、固定教室的单一模式。

除此之外, 码云 高校版中还提供代码质量检测、人员贡献统计等功能,可以辅助教师完成对学生的教学评分,提高教学质量与结果。

更多关于码云高校版的信息,请访问 https://gitee.com/education

往期精彩:

功能更新 | 码云上线 Pull Request 自动分析代码质量功能

功能更新 | 码云企业版支持提交代码时切换任务状态

功能更新 | 码云支持 Git Wire Protocol,提升传输效率

功能更新 | 如何控制 Git 库的膨胀?码云 GC 一步搞定!