第六章 敏捷开发与配置管理-作业题-关于Git的题目

news/2024/5/18 7:50:47

小图所在的某校信息学院有一位程老师,他对生命游戏特别感兴趣,正巧他看到小图最近在研究生命游戏。程老师想了一些生命游戏的新规则,他想检验一下那些规则是否有效,于是拍了拍小图的肩膀,语重心长地说:“生命游戏能不能成为游戏界的主流,能不能在游戏史上留下浓墨重彩的一笔,就靠你们年轻人了!”然后程老师就把实现那些规则的任务交给小图了。什么?程老师为什么不自己实现?程老师这么多年的编程经验,什么样的程序没见过!这是给小图一个掌握编程经验的机会!
小图自己已经编写了一个有bug的生命游戏。目前的代码中存在一些bug,想到这小图就更慌了。幸好,小图有个从小穿一条裤子长大的好朋友。相信屏幕前那闪耀着智慧光芒的你已经猜到了,这位好朋友就是你!快来帮小图这个忙吧!小图想请你帮他一起去完成程老师提出的那些新规则。
为了更好地进行协作,你们决定用git版本库来管理代码。

1、小图首先在Github上创建了一个版本库(https://github.com/ThssSE/MOOC_LifeGame),然后马上在本地通过git clone将它克隆到了本地,这时git status中会提示On branch ( B)。
A dev
B master
C release
D Branch

2、小图首先把他已经编写好的代码文件全部放入了本地版本库中,然后想通过git commit提交,但提示提交内容为空,不允许提交,于是你通过(D)帮他解决了这个问题。
A git commit --amend,进行修补提交
B git commit -a,提交所有改动
C git commit --allow-empty,允许空提交
D git status查看状态,再执行git add命令选择要提交的文件,然后提交

3、提交后,你才发现不小心把一些临时文件(.xxx)也提交进去了,以下最好的解决方式是(C )。
A 编辑.gitignore文件,增加.xxx条目,然后git commit -a把.gitignore提交到版本库
B git rm删除*.xxx,然后git commit提交
C git rm删除*.xxx后再编辑.gitignore增加*.xxx条目,最后git commit --amend进行修补提交
D 幸好还没进行git push,重新clone然后重新添加文件后提交即可

4、折腾了半天,终于把小图的现有代码完整、干净地提交并push到了服务器上,你也本地clone了同一个版本库。请将版本库(https://github.com/ThssSE/MOOC_LifeGame)clone到本地,可以看到有多个分支,请切换到git-demo分支,然后先把git-demo-1合并至git-demo分支,会发生( A)。
A 合并成功,且不产生新的提交
B 合并成功,且产生一个自动merge的新提交
C 合并失败,因为出现了冲突(Conflicts)
D 合并失败,因为git-demo分支是git-demo-1的子分支

5、接着,请继续把git-demo-2分支合并至上述合并后的git-demo分支,会发生(C )。
A 合并成功,且不产生新的提交
B 合并成功,且产生一个自动merge的新提交
C 合并失败,因为出现了冲突(Conflicts)
D 合并失败,因为git-demo-2分支是git-demo-1的子分支

6、接下来你们将进行开发工作,做了分工,每人实现几个功能。你在本地新增了一个名为feature1的branch,关于这个branch,以下说法正确的是(B )。
A 在本地新增feature1后,远端服务器的版本库中也会自动出现一个同名分支
B feature1分支在本地被删除后,远端服务器的版本库中不会自动删除同名分支
C 可以指定将feature1分支提交到远端服务器的其他分支,但这会导致其他分支被覆盖,因此一般不这么做
D 可以指定将feature1分支提交到远端服务器的另一分支branch2,提交后可以手动再把branch2之前的最新提交merge到branch2去,因此不会丢失原branch2的提交

7、终于开始愉快地编程了,你们先进行bug的修复工作。你在修复某个bug时,非但没有完成修复,还导致了更严重的bug,这时你想把一个名为game的文件恢复至原始版本,只要执行(C )就可以了。
A git checkout --reset game
B git rm --revert game
C git checkout HEAD – game
D git ignore game

8、你又继续了bug修复,这回成功完成了修复。又过了一会儿,你在修复另一个bug时又不小心改乱了想恢复,于是用git reset
–hard来把另一个文件恢复,但小手一抖不小心把已经完成修复的game文件恢复了导致数据丢失。丢失了的数据还能找回吗?( D)
A 不能,硬重置使工作区文件被覆盖,导致数据丢失无法找回
B 不能,因为尚未提交
C 能,可以通过git checkout HEAD@{1} – game找回
D 不确定,如果在重置前执行了git add 命令将game加入了暂存区,则可以在对象库中处于悬空状态的文件中找到

9、你对一些文件进行了修改后,通过执行( D)就可以把当前工作区的所有被修改的文件都添加到暂存区且不添加新增的文件。
A git add .
B git add -A
C git add -m
D git add -u

10、你和小图都进行了一些开发工作,然后进行合并时,提示了出现conflicts,该怎么处理呢?(D )
A 这是因为你和小图同时push到服务器导致的,只要你们俩轮流push就不会有问题
B 这是因为合并时你们修改了不同的文件,导致无法合并,只要将被修改的文件在另一个待合并的分支也相应修改就能解决
C 这是因为合并时你们修改了同一个文件,因此合并后只能保留其中一个分支的该文件,要顺利解决可以先将文件备份,然后合并后再手动将变动同步过来
D 这是因为你们对同一个文件的同一个位置进行了不同的改动,合并后会有特殊标记标明冲突的部分,进行处理后再提交即可解决冲突

11、以下文件片段,表示该片段发生代码冲突的是( B)
A <<<<<<< feature-2 if name == ‘main’: ======= if os.path.basename(file) == ‘main.py’: >>>>>>> HEAD
B <<<<<<< HEAD if name == ‘main’: ======= if os.path.basename(file) == ‘main.py’: >>>>>>> feature-2
C ======= HEAD if name == ‘main’: <<<<<<< if os.path.basename(file) == ‘main.py’: ======= feature-2
D ======= feature-2 if name == ‘main’: >>>>>>> if os.path.basename(file) == ‘main.py’: ======= HEAD


http://wed.xjx100/news/301241.html

相关文章

Java基础重点概要(部分)

为工信部第六届全国计算机信息大赛准备 &#xff0c;主要复习以下内容。 Java基础及环境&#xff1a;JDK发展历史&#xff0c;不同版本的进阶内容。Java程序的编写、编译、调试。 Java程序设计基础&#xff1a;常量和变量的概念&#xff0c;声明方式和作用域。基本数据类型的定…

华为OD机试真题 JavaScript 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

一、题目描述 跳房子&#xff0c;也叫跳飞机&#xff0c;是一种世界性的儿童游戏。 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格&#xff0c;然后获得一次选房子的机会&#xff0c;直到所有房子都被选完&#xff0c;房子最多的人获胜。 跳房子的过程中&…

使用Unity开发一个独立的区块链

Arouse Blockchain [Unity独立区块链] ❗️千万别被误导&#xff0c;上图内容虽然都在项目中可寻&#xff0c;但与目前区块链的业务代码关联不大&#xff0c;仅供宣传作用(总得放些图看着好看)。之所以有以上内容是项目有个目标功能是希望每个用户在区块链上都有一个独一无二的…

表级锁和行级锁

介绍 为什么有事务隔离性&#xff1f;因为要并发执行&#xff0c;数据安全性和一致性和并发效率问题 串行化&#xff1a;锁实现&#xff0c;没有并发性 用的多的是可重复读&#xff08;mysql&#xff09;和已提交读&#xff08;oracle&#xff09;&#xff0c;因为权衡了数据…

5、共享模型之内存

目录 5.1 Java的内存模型5.2 可见性1、退不出的循环2、解决办法&#xff1a;3、可见性 vs 原子性 5.3 有序性1、为什么会有指令重排2、如何禁止指令重排3、原理之volatile4、happens-before 5.1 Java的内存模型 JMM 即 Java Memory Model&#xff08;Java内存模型&#xff09;…

控制并发流程,做好线程间的协调

一、概述 1. 什么是控制并发流程&#xff1f; 线程一般是由线程调度器自动控制的&#xff0c;但有些场景需要按照我们程序员的意愿去实现多线程之间相互配合&#xff0c;从而满足业务逻辑。比如&#xff1a; 让线程A等待线程B执行完后再执行等一些相互合作的逻辑&#xff1b…

MP : Human Motion 人体运动的MLP方法

Back to MLP: A Simple Baseline for Human Motion Prediction conda install -c conda-forge easydict 简介 papercodehttps://arxiv.org/abs/2207.01567v2https://github.com/dulucas/siMLPe Back to MLP是一个仅使用MLP的新baseline,效果SOTA。本文解决了人类运动预测的问…

通过构造方法使属性初始化

1 问题 如何使属性初始化。 2 方法 在Student类中定义两个构造方法publicStudent(String name)和public Student(String name,int score)。在使用new运算符创建对象&#xff0c;由于实际参数是一个String类型的数据"林冲"&#xff0c;因此在实例化时会调用有一个Stri…