Izuku was bang on the money. Starting from the safe zone, their task was to cross the miniature canyon using the rope bridge, rescue the golems from the burning buildings in the model town square, and transport them back across the bridge to the safe zone. To pass the test, they needed to save at least 80% of the golems. There was a big stack of crates in the safe zone that stored firefighting equipment—protective wear, axes, rope, fire blankets, flashlights, various tools, tanks of both dry and wet chemical suppressants, and so on.
The narrow rope bridge was intended to be a bottleneck in both directions. You both had to lug the proper firefighting equipment from the safe zone to the fire, and you also had to lug the golems from the fire to the safe zone, both using the same passageway. Izuku could see the tricky balancing act the simulation required of you. What did you prioritize? How many trips back and forth could you afford to take? If you needed a certain piece of equipment but didn't bring it with you, was it worth going back to grab it, or did you improvise with what you had?
Well, it would've been a tricky balancing act. Too bad this group had both Izuku and Yaoyorozu.
"git grep golem ––untracked. Here, let me—"
"Don't bring any unwieldy tools. I can create anything we need when we need it."
"I'll just anchor all this stuff to me so that I can summon it to us when we need it. Save your quirk for making gear that we don't already have."
"Make sure everything fits on your utility harness. We're going to need our hands free to carry the dummies back with us."
"It looks they only gave us a few fire grenades, but that's okay. I can restore them, so we can use them as often as we want."
"I know the chemical compositions of common fire suppressants by heart, so it's not an issue either way."
"How often do you think I should save our progress? Every three minutes or so?"
"That works. Kirishima, what are you doing? Why haven't you put on your protective gear yet?"
"I don't need it. Have you ever tried to set a rock on fire?"
"You at least need to wear a respirator for the smoke, and you could still overheat. Take these ice packs and put them under your clothes."
"But I'm planning to charge directly into the fires. The ice will just melt."
"I can restore the ice packs too. It's fine."
All geared up, the three crossed the rope bridge and headed for the town square, walking through a field of dry yellow grass to get there. There were little over a dozen burning buildings. Most of them were single-story homes and fake business storefronts, but a couple of them were multi-story apartment buildings.
Yaoyorozu looked a little overwhelmed. "They expect us to rescue an entire town for our very first exercise? Shouldn't we start with rescuing one victim from one building?"
"This is UA! Plus Ultra, baby!" Kirishima cheered.
"Only half of the buildings have golems in them. I can sense where they are, remember? The other buildings are just decoys." Izuku pointed to one of the houses. "That house has three golems, so let's start there."
His partners nodded and followed him to the burning house. The front door was shut tight and completely aflame, blocking their entrance to the house. Hm, they had fire axes that could break open the door, but they would have to get in really close to do it and stand directly in the fire. That wouldn't work. He needed to be able to break open the door from a distance. Maybe he could pull out his slingshot and fire a bowling ball at—
Kirishima charged at the door and broke through in an instant.
…Oh, right. They were a team. Izuku needed to get out of the thought process that just because his versatile quirk could do something didn't mean it was the right tool for the job. He'd spent nearly his whole life thinking about Git, and that might not necessarily be a good thing.
"You looked really cool busting through the door like that, Kirishima! Real hero-like!" Izuku called into the house.
Kirishima scratched the back of his head bashfully. "Heh heh, thanks, man! Hey, so, I'm basically fireproof, so is it fine if I go on ahead while you two get stuff ready here?"
Yaoyorozu nodded. "Yes, the dummies represent injured or trapped civilians, so time is of the essence. Go find them and determine the shortest route to the exit."
Kirishima gave a thumbs up and marched into the house to find the rescue dummies. Izuku and Yaoyorozu meanwhile pulled out their extinguishers and used them to carve a safe path through the house to carry the dummies back with them.
"Found them! Straight ahead and to the right!"
They followed Kirishima's directions and arrived at the living room where three golems were huddled up in the far corner. Kirishima causally swung the largest one over his shoulders in a move that was obviously well-practiced; Izuku and Yaoyorozu copied his movements as best they could with the two others. The three carried the dummies toward the cleared path, but unfortunately, Izuku wasn't paying close enough attention because his golem's head bumped against the doorframe when he tried to exit the room.
"Ow. Ow. Ow," the golem spoke flatly. Izuku cringed.
"They talk?!" Kirishima looked creeped out.
Yaoyorozu ignored it and remained 100% on task. "Let's move it, people! We need to transport the survivors to the evacuation zone."
This was probably a good time to make a save point. "git add canyon-dome/*; git commit -m "First house"."
The three of them exited the house and began hauling the dummies to the safe zone. The golems were pretty heavy, and even with the ice packs the swelting heat was exhausting, so it was a more difficult task than Izuku expected.
"Ow. Ow. Ow."
It didn't help that his golem never shut up.
They left the town square, cut through the field of dry grass, and then crossed the bridge single file, laboring under the weight of the golems. "Okay, we're definitely not doing this right," Kirishima spoke up. "It's gonna take way too long to bring the dummies to the safe zone one by one."
"I was thinking the same thing," Yaoyorozu said. "I can create an encampment in the middle of the town square. We can set up some tarps and spray them down with water to keep the area cool and prevent it from catching fire. Does that sound good?"
Izuku nodded. "Let's do it!"
The exercise proceeded more-or-less steadily after that. They set up a camp in the town square to temporarily hold the rescued golems, then Izuku pointed them to the next building to tackle. Kirishima led the way, charging straight through walls and any other obstructions that blocked their way while Izuku and Yaoyorozu acted in support roles. Thanks to both their quirks, they never needed to return to the safe zone to get extra equipment. Izuku suspected that they were trivializing a lot of the prepared obstacles. For example, when they found that one of the apartment building's stairwells had collapsed, Yaoyorozu simply created a ladder on the spot.
That didn't mean everything went smoothly. Izuku wasn't the only one to accidentally injure the very people they were trying to save. They had one entirely avoidable dummy death as well.
They were just exiting one of the apartment buildings when the golem on Yaoyorozu's back started screaming out of nowhere. They all startled for a moment, and then suddenly Yaoyorozu shrieked and slammed the dummy on the ground. The dummy was on fire, and—oh shit, Yaoyorozu's hair was on fire too! She slapped the back of her head violently, starting to panic.
"I got you! I got you!" Kirishima pulled out his fire extinguisher and sprayed it all over Yaoyorozu's face. The foam covered her eyes and mouth, blinding her and causing her to stumble around the hallway. All the while the golem was on fire and screeching on the floor.
"AAAAHHHHH!" the golem wailed, a guttural cry of agony, writhing in pain as it burned alive on the ground. Yaoyorozu would be fine, so Kirishima turned the nozzle toward the golem, hoping to save it or at least stop the fire from spreading any further.
The screaming trailed off and died pathetically. It was too late. All that was left of the golem was a charred black corpse soaked with extinguisher agent. Its face was frozen in open-mouthed horror. The smell of burnt rotten wood permeated the air.
The three of them looked at each other awkwardly.
"…Um, let's just keep going, I guess."
Besides that mishap, things had gone well enough. After rescuing everyone, they piled the golems onto three wagons that Yaoyorozu created. They all hitched themselves to a wagon harness and began the small trek out of the model village and back to the bridge.
A nasty surprise was waiting for them there.
"Oh, come on!" Kirishima yelled in frustration. While they were busy rescuing the golems, the fire had spread along the grassy field that separated the town from the canyon. It had reached all the way to the rope bridge, which was now fully ablaze. There was no way they could cross now. Even if they braved the fire, the bridge looked like it would give way at any moment.
…And there it went. As Izuku watched, the fraying ropes split in two and sent the wooden planks crashing into the abyss below. Good timing. Honestly, this was all simulated, so it probably was timed. He just called it an "abyss", but he saw a safety net down there when they crossed the bridge earlier.
Out of curiosity, Izuku knelt and felt the grass. As he suspected, the blades of grass felt synthetic, like some sort of plastic. "This is all part of the exercise," Izuku said. "The grass isn't real, so the fire isn't real either. It couldn't have spread to the bridge unless it was supposed to."
"But how is that fair?" Kirishima complained. "None of us have flying quirks or anything. What are they expecting from us?"
"We were supposed to secure the escape route, I believe," Yaoyorozu pondered aloud. "I suspect that, normally, teams would have to go back and forth over the bridge more often, so they would have noticed the spreading fire. Then we would be forced to split our focus between saving the victims and saving the bridge."
"Bah. So now we're just screwed, then?"
"No, it's fine. We prepared for this," Yaoyorozu said. "Midoriya, you've been making saves this whole time, right?"
Izuku grinned. "Yup!"
"Excellent. Can you roll everything back to maybe fifteen minutes ago? Not just the bridge, but our surroundings as well. We still need to pull the dummies through the field, which we can't do while it's on fire."
He'd been making commits roughly every three minutes, so fifteen minutes would be five commits ago. The most recent commit on a branch was called the "head" of the branch, and you could refer to previous commits using the syntax "HEAD~5" ("head minus five", or "five commits earlier than the head"). He could use the command "git reset" to roll everything back to that commit.
All simple enough. Izuku nodded and declared, "Git rese—"
He panicked and cut himself off.
He almost said it.
Testing his suspicions, Izuku turned around and placed a hand on one of the golems. "Git add golem," he said.
Shit.
He tried again. "git add canyon-dome/golem." This time it worked.
Izuku grimaced. "Okay, bad news. The golems are considered to be part of the canyon dome, so if I reset the environment then it'll also teleport all the golems back inside the burning buildings."
Kirishima groaned and Yaoyorozu facepalmed.
The clock was ticking. The bushfire was encroaching on them and would soon block the path back to the village. "All right," Yaoyorozu said, back in business. "We need to leave and come up with a new plan. The fire is spreading quickly. We'll be trapped if we stay here for much longer."
"Wait! I can still figure this out!" Izuku pleaded. He'd been studying his quirk for nearly a year. He should know by now how to restore one thing but not another. His classmates were relying on him! "Just hold on a bit longer, please."
"Fine, but be quick! We don't have much time before the fire reaches us."
Okay. Think, Izuku, think. He buckled down and tried to remember everything he could about rewinding changes in Git. By default, "git reset" redefines the head of the branch to be any arbitrary commit that I choose. It also has multiple modes like "––soft" and "––hard". A soft reset leaves the working and staging areas unchanged and only changes the commit that the "head" points to, while a hard reset reverts everything to a previous state. All of these operations work on entire commits, not parts of commits. What I need to do is split things up so that I can revert everything except the golems. Okay, git reset won't work.
What about "git revert"? That command essentially creates an "anti-commit" that does the exact opposite of some previous commit. If one commit moves something a meter to the right, then I can use revert to automatically create a new commit that moves it a meter to the left, canceling out the change. Same problem, though. It's still an operation that primarily works on commits as a whole, not specific parts of them.
How about "git checkout"? It's similar to "git switch", but while that command can only switch to branches, "checkout" can switch to any commit and treat it as if it were the head of its own branch, although it results in that annoying "detached HEAD state" warning popup whenever it happens. Strangely, it also lets me checkout specific objects from the index, replacing the working area version of an object with the staged version. I don't understand how those two functions relate to each other. It's another example of one command doing two different things, like how both untracking and deleting objects use "git rm". Is there a way of checking-out both a specific commit and a specific object at the same time? I don't know. I don't remember.
Is "git cherry-pick" an option? That command plucks a commit out of a branch, disentangling it from its surrounding context so that it can be reapplied somewhere else. It's useful to use along with tags so that I can create new branches out of some arbitrary combination of previous commits. It's a good way of avoiding that "detached HEAD state" warning message too. Does the command help me right now? Maybe? I'm not sure.
What about "git stash"? That command does two things. First, it takes all changes made since the last commit and saves it all as a patch object, then it restores everything back to the state of the most recent commit. If I could then use that patch object and only apply… No! Goddammit, that's just the same issue in reverse! Instead of needing to partially revert the working area, which I don't know how to do, I'd need to partially apply a patch object instead, which I don't know how to do either!
FUCK! Why does Git have so many different commands for reverting to a previous commit, and yet none of them work? Why is this so complicated?!
While Izuku was stuck in his head and mired in the complexities of his quirk, the bushfire had completely surrounded them and trapped them by the edge of the canyon. The searing heat pressed in from all sides as the firestorm approached them, suffocating and relentless. "Any time now, Midoriya!" Yaoyorozu shouted at him.
"I'm thinking!" he yelled, the pressure on him building and building and crushing and crushing…
Okay, Izuku, calm down. You're panicking. There might be a way to make it work with one of those other commands, but I don't have time to figure that out right now. Go back to the tried-and-true: git restore. That command changes the working area to match the staging area. In simpler terms, "real" objects are moved to the positions of the "virtual" objects. But, importantly, it doesn't do anything if the real and virtual positions already match.
If I add just the golems but nothing else right now, their virtual positions will be updated and a "git restore" won't affect them. But how do I alter the restore command to point to a specific commit rather than its default behavior of using the staging area? Like, I think there might have been something in the manual about this, but I don't remember the syntax for it. But, but… it should work! As long as that setting exists and I'm not misremembering. I just need to know what the right syntax is, and then… yeah, it's my best shot right now.
Izuku pulled out his phone, opened up the Git reference manual PDF he'd saved, and scrolled as fast as he could to the relevant section.
"Midoriya! We're trapped in a wildfire! It's going to reach the wagons at any moment! Why are you checking your phone?!" Yaoyorozu sounded so pissed with him.
"I'm sorry! I'm sorry!" he cried, fingers trembling as he tried to find what he was looking for.
Okay! Okay, this is it. Okay. Oh god, if this doesn't work then I'll never be able to show my face to Yaoyorozu or Kirishima again.
"G-git, sorry, git add "canyon-dome/golem [*]"; git restore ––source=HEAD~5 canyon-dome/*; git restore "canyon-dome/golem [*]"," he said as clearly as he could, fighting down his nerves.
The fire surrounding them vanished and the rope bridge returned to normal. The dummies were still there and unaffected by the command.
Oh, thank god. The weight on Izuku's chest lifted and he let out a long sigh of relief.
The rest of the exercise was a foregone conclusion. The three of them spent the next few minutes going back and forth across the bridge, ferrying all the golems to the safe zone. When Kirishima arrived with the final golem, a buzzer sounded, signaling the end of the test.
They did it.
—
"Well done, little heroes! Let's go over your results!" Loud Cloud said, standing next to a screen that showed video footage from the activity.
The three of them sat on one of the benches located in the area, taking a short break after the demanding lesson. Yaoyorozu had created a handheld mirror and was trying to take a look at the back of her head where her hair had caught on fire earlier. She frowned at what she saw.
"As a whole, your group did an excellent job!" Loud Cloud praised. "We don't usually expect students to succeed the first time you tackle one of these courses, but you three rose to the challenge and pulled it off! You worked together seamlessly, leveraging both your own abilities and the strengths of your partners. You all should feel very proud of yourselves."
They all grinned at each other, elated. "Ha, we rock!" Kirishima whooped. "First time we've ever done this and we already got it down pat!"
"Ah… no," Loud Cloud said. "If this weren't a simulation, all three of you would have died."
"Bwah?" They all let out various noises of surprise. Well, that sure was a downer.
Loud Cloud nodded. "You all made several fatal errors. Which is to be expected, of course. Your teachers will go over this in a lot more detail tomorrow in class, so I'll just cover a few major things right now."
He clicked a button on his remote and a video started playing on the screen. In the footage, Izuku pointed at a wall and said that he sensed golems behind it, and then Kirishima charged straight through the wall in order to reach the dummies faster.
"You made this mistake several times. If this building were real, the ceiling would have collapsed on you all at that moment."
"What?" Kirishima faltered. "But I didn't even touch the support beams…"
Loud Cloud shook his head. "That's not what I mean. Yes, to your group's credit, you made sure to avoid the obvious load-bearing support pillars. The part that you didn't consider was that the building's structural integrity was already compromised. Additional pressure was being put on sections of the building not designed to support that weight, and the impact of destructive actions like knocking down walls would have caused the already precarious structure to collapse. You were busting through obstacles as if you were in a safe, solid, undamaged building, rather than treating it with the caution it deserved."
"Oh." Kirishima cringed and hung his head. "Sorry, guys."
"I'm not singling you out," Loud Cloud clarified. "All three of you were there. I understand that you were prioritizing speed, and that's a good thing, but none of you considered the potential dangers of being so reckless inside a burning building. Like I said, your group made this same mistake several times."
He clicked his remote again to show various scenes. "Continuing on, none of you were careful about checking for fires out of sight before rushing through areas. That's somewhat excusable for Kirishima, but not for Yaoyorozu or Midoriya." In the footage, Izuku watched himself blindly darting around a corner. From the footage, he could see that the hallway he was thoughtlessly about to run through was fully ablaze. The moment he turned the corner without checking if it was safe, the fires in the hallway extinguished themselves so that he didn't accidentally run straight into the flames. Yeesh. That was embarrassing to watch.
Loud Cloud continued, "This general carelessness was the main cause of your group's only casualty." The footage showed Yaoyorozu hauling one of the golems on her back through the apartment building, the dummy's head and legs sticking out to either side. She was so focused on reaching the exit that she didn't notice when her gait thrust the golem's head straight into a fire behind her. The golem started screaming, the fire spread to Yaoyorozu's hair, and they reexperienced Kirishima spraying her in the face with his extinguisher and the golem flailing and screaming on the floor as it burned alive.
Yaoyorozu had covered her face with her hands, so Izuku couldn't see her expression, but her ears were burning red-hot.
Loud Cloud clicked the remote again, and the footage changed to show the final stretch of the exercise. Oh no. The scene showed the bridge collapse and the several minutes that followed. Izuku felt bad at the time, but it was so, so much worse watching it objectively. While Yaoyorozu and Kirishima were panicking and trying to pull the wagons away from the ever-encroaching fire that surrounded them, Izuku just stood there like a total idiot trying to remember the correct commands, half-oblivious to the roaring flames that threatened to burn them to ashes.
It was mortifying. "I'm so sorry," he blubbered. "I promise I'll be faster next time."
"Midoriya, the issue isn't about speed, it's about communication," Loud Cloud said. "There's nothing wrong with needing time to do something. You can plan around that. The problem is that you left your allies in the dark in a dangerous situation. Nothing was stopping you from helping your teammates retreat to a safer location before using your quirk, but you tried to do everything yourself without considering the situation as a whole."
Izuku nodded, ashamed. It was funny, in its own weird way. Of all the flaws Izuku expected he might have as a hero, he never would have guessed that ego would have been one of them. It came from a different place than someone like Katsuki, of course—Izuku wasn't trying to prove that he was the best, but he was trying to prove that he was capable and deserved to be there. All those years of self-doubt had taken a toll on him.
Loud Cloud was completely correct. He should have admitted that he didn't know the correct command and helped the others retreat instead, but that would have been embarrassing, and so he didn't.
"I know it's a bummer to be confronted with your mistakes in full HD, but let me reiterate that the three of you did a fantastic job," Loud Cloud said. "You weren't expected to complete the course the first time you did it. Be very proud!"
No one seemed very proud. Kirishima was still kicking himself over killing them all multiple times without realizing it, Yaoyorozu was ashamed over causing their group's only causality and hurting the people she was supposed to save, and Izuku was busy rethinking his entire approach to how he used his quirk.
It was true, Izuku should have swallowed his pride and been more open with his teammates. But at the same time, the whole situation shouldn't have happened at all. Having to pull out his phone because he couldn't remember the correct command syntax was an inexcusable mistake. He could never afford to do that while battling a villain or something.
He needed to be better.
Loud Cloud clapped his hands together to refocus everyone. "All right! We'll regroup with Greenheart and your classmates, and then let's kick off the next course!"
They followed their teacher as he zipped along on his miniature cloud, the group all lost in their own thoughts. To make himself feel better, Izuku reassured himself that it could be worse. As confusing as his quirk often was, his saving grace was that he was the only person who could use Git. His manual was written for the original computer program and focused heavily on how to share your work with other people. It covered stuff like "remote repositories" and "upstream branches" and "pushing" and "pulling" changes, not to mention some even stranger terms like "access tokens" and "credential authentication".
Thankfully, he could ignore all of it. If he had to learn all that too, he might as well give up. It hurt his head just imagining the chaos that would unfold if other people were also capable of splitting the timeline, merging things in, overwriting changes, adding their own commits into his branches, and generally mucking about with everything whenever they wanted. He had enough trouble dealing with his own stuff! How would it even be possible to keep track of that sort of thing? It would be like trying to follow a time travel movie with multiple time travelers all independently messing with the timeline simultaneously.
Izuku shivered at the mere thought. What a nightmare.
Thank goodness Git didn't exist anymore, sparing the world from such a headache.
