# Amazing maze: the challenge

**URL:** <https://forum.makecode.com/t/amazing-maze-the-challenge/2426>\
**Category:** Arcade\
**Tags:** game\
**Created:** [June 15, 2020, 12:26pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426 "2020-06-15T12:26:56Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)\
**Post date:** [September 30, 2020, 7:26pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/21 "2020-09-30T19:26:06Z")

</div>

nvm. I haven’t looked at my github account for a long time.

---

<div class="post-metadata">

**Author:** ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)\
**Post date:** [September 30, 2020, 7:29pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/22 "2020-09-30T19:29:03Z")

</div>

I’ve never used Github and never really had the time to figure out what it does. You think you can tell me what to do?

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [September 30, 2020, 8:30pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/23 "2020-09-30T20:30:23Z")

</div>

Github and Git is awesome! You should use it more!

Github ([https://github.com/](https://github.com/)) is based off of Git. ([https://git-scm.com/](https://git-scm.com/)) Git is a _source code management_ (AKA _version control system_) system. What it does is that it takes _snapshots_ of your code at user-defined points. It also allows you to use _branches_ which allow you to test things without ruining the original code.

Say you were making a game. (Example will be Crossy Roads) You start off with a blank repository, which will hold your code.

You finally make the code which moves your chicken around - great! Now is a great time to _commit_, which does the snapshotting. Once Git finishes snapshotting your code, you can go back to developing.

Now you make infinite terrain generation, so the chicken can move and go places! Commit again!

Now you work on making obstacles - but you realize there is a problem with your infinite terrain generation code. It doesn’t play well with your obstacles! No good. So you can _undo commits_ (I’m not sure what the _official_ term is but whatever) and Git will delete all your progress back till when you snapshotted the code on infinite terrain generation. Everything will be just like when you committed the infinite terrain generation code.

I also mentioned _branches_, which are used in testing things out. Say you want to add animations to the chicken. But that will require significant work and it will be hard to undo everything if it doesn’t work. So you create a _branch_, which is based on the last commit you made. In this branch, you can do whatever you want. If it works, perfect! You can _merge_ the branches, and if the checks pass, (no code conflicts) then you can merge the branch you were just working on to `master`, which is the name of the default branch, and the main code will have your modifications! If the code doesn’t work, you can just delete the branch, and it will go back to `master`!

Note that when you are committing, it will snapshot the code and save it in the branch you selected. This will not affect other branches.

That is mostly Git in a nutshell. Github just adds on to Git. (With web browser interface, issue tracking, wikis, more stuff I can’t think of right now…)

---

<div class="post-metadata">

**Author:** ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)\
**Post date:** [September 30, 2020, 9:17pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/24 "2020-09-30T21:17:09Z")

</div>

I didn’t quite understand it all but since you told me to use it more, I’ll try and figure out my username and password again

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [September 30, 2020, 9:38pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/25 "2020-09-30T21:38:35Z")

</div>

I’m sorry, did I bombard you with a bunch of information? 😅 I tend to go overboard on stuff like that…

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [September 30, 2020, 9:41pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/26 "2020-09-30T21:41:42Z")

</div>

Basically, on MakeCode Arcade, the Github interface allows you to _commit_ and _use branches_.

Committing basically copies all you code and backs that up. If you mess up, you can go back to that commit.

Branches are a little more complicated…it took me a while to understand them. Even now, I rarely use them…

---

<div class="post-metadata">

**Author:** ![Dreadmask197](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/dreadmask197/32/10494_2.png) [@Dreadmask197](https://forum.makecode.com/u/Dreadmask197)\
**Post date:** [September 30, 2020, 9:56pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/27 "2020-09-30T21:56:00Z")

</div>

ok i get it now.

---

<div class="post-metadata">

**Author:** ![isaacreisbr23](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/isaacreisbr23/32/1708_2.png) [@isaacreisbr23](https://forum.makecode.com/u/isaacreisbr23)\
**Post date:** [October 1, 2020, 6:33pm UTC](https://forum.makecode.com/t/amazing-maze-the-challenge/2426/28 "2020-10-01T18:33:15Z")

</div>

basically from what I understood git hub helps to share projects that are too big to be posted on the forum so if you have the repository link you import it into the make code arcade and play

that’s what i understood i’m not sure about github

[Previous page](https://forum.makecode.com/t/amazing-maze-the-challenge/2426.md?page=1)
