curriculum icon indicating copy to clipboard operation
curriculum copied to clipboard

JavaScript|Intermediate Git| A Deeper Look at Git: Assignments are too high level for what is discussed/needed at that point

Open emergent-code opened this issue 1 year ago • 8 comments

Checks

Describe your suggestion

Currently, the assignments in this section are:

  1. Read the chapter on Rebasing covered by git-scm for an even deeper dive into Rebasing.
  2. Read the chapter on Reset covered by git-scm for a deeper dive into git reset.

Git-scm, while a good and comprehensive resource can make the topic more confusing to learn for a beginner. Also, a lot of what is covered seems to be unnecessary at this stage. Having to read all of this creates a lot of cognitive load, especially when it is not pointed out what is essential and and what isn't. There is also no element of practice after all of that reading.

I propose a gentler introduction to intermediate git as shown below:

### Assignments

  1. Watch How Git Works: Explained in 4 minutes
  2. Read think-like-a-git (moved from the following section to this section)
  3. Complete the first three sub-sections in the main section of Learn Git Branching*
  4. Watch Git MERGE vs REBASE: Everything You Need to Know

*This resource is especially good for building fluency/familiarity with the commands and for being able to visualise what is happening. I'd also recommend the remote section as an assignment for the next lesson.

I think my suggested changes result in a set of assignments which are shorter and provide more clarity.

I'd add the git-scm articles as additional resources.

Path

Node / JS

Lesson Url

https://www.theodinproject.com/lessons/javascript-a-deeper-look-at-git

(Optional) Discord Name

No response

(Optional) Additional Comments

No response

emergent-code avatar Jul 16 '24 23:07 emergent-code

Thanks for taking the time to make this issue!

So, I think you raise some interesting points here, but one of the difficult things about this content is that there really isn't any specific point in the curriculum where this deeper level Git stuff will be truly "necessary" to complete the further lessons and projects.

We dive so deep into it despite that because it's great knowledge to have when you're trying to get/in your first dev role that really helps a jr stand out. Additionally git-scm is the Git resource, and while I can understand the content being a bit of a slog getting more comfortable with highly technical documentation like it is one of the big skills we're trying to build here.

All of that being said, I think I would be hesitant to pull those assignments out, but there might be a solid case for tweaking the positioning of the content in the curriculum a bit more. I will mull your proposal over further though.

CC @TheOdinProject/maintainers for comments from other members of the maintainer team.

wise-king-sullyman avatar Jul 21 '24 00:07 wise-king-sullyman

Thanks for the consideration. I'd say maybe just add parts of https://learngitbranching.js.org/ then.

Part of the reason why the git-scm resource feels like a lot is because you read all of it, but then you don't practise it. There's no "tangibility" to what you've learned for lack of a better word and any assumed expertise would fall apart on closer examination. It's like assigning a chapter of a university level calculus intro textbook for reading to a high school class without giving them the opportunity to practice. It probably does help a junior dev stand out, but how much time will elapse between someone reading the resources and interviewing for a job, and how much will they remember? I'd argue having really solid and trainable fundamentals is better than being aware of something high level that you have no idea how to use in practice. By the time it comes to actually using the things mentioned on git-scm it would be a breeze to learn. Anyway, that's just my 2 cents on it, I hope it doesn't come across in a negative tone.

emergent-code avatar Jul 21 '24 13:07 emergent-code

Anyway, that's just my 2 cents on it, I hope it doesn't come across in a negative tone.

Definitely not, I appreciate you taking the time to give your thoughts!

I wouldn't be opposed to some of learngitbranching being moved to an assignment instead of all just being an additional resource.

wise-king-sullyman avatar Jul 31 '24 01:07 wise-king-sullyman

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] avatar Aug 30 '24 01:08 github-actions[bot]

@emergent-code looks like no other maintainers have voiced opposition, is this still something you'd be interested in doing?

wise-king-sullyman avatar Sep 06 '24 21:09 wise-king-sullyman

@emergent-code looks like no other maintainers have voiced opposition, is this still something you'd be interested in doing?

Yeah, of course. So just to be clear, I'd be adding some of https://learngitbranching.js.org/ to assignments?

emergent-code avatar Sep 07 '24 16:09 emergent-code

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] avatar Oct 08 '24 02:10 github-actions[bot]

Sorry missed your reply, yes that's what this issue would entail.

wise-king-sullyman avatar Oct 12 '24 18:10 wise-king-sullyman

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] avatar Nov 12 '24 01:11 github-actions[bot]

Hey @emergent-code, are you still working on this? or would you like us to give someone else the opportunity to do it?

KevinMulhern avatar Jul 17 '25 15:07 KevinMulhern

Ah, completely forgot about this. I should have some time in the coming week or so to do it, but if it's urgent, you can give the opportunity to someone else!

emergent-code avatar Jul 17 '25 23:07 emergent-code

Thanks @emergent-code - it's not urgent

KevinMulhern avatar Jul 18 '25 06:07 KevinMulhern

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] avatar Aug 18 '25 02:08 github-actions[bot]

Hey @emergent-code, just touching base, is this something you still plan to work on?

wise-king-sullyman avatar Aug 18 '25 21:08 wise-king-sullyman

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] avatar Sep 19 '25 02:09 github-actions[bot]

Hi 👋🏻, just to make sure I understood correctly, the first three sub-sections in the main section of Learn Git Branching are the only things that need to be added, right?

The assignment will look something like:

Learn Git Branching is an interactive game on the web to learn git. Go ahead and do the first three sub-sections under the Introduction Sequence. Those are:

  1. Introduction to Git Commits
  2. Branching in Git
  3. Merging in Git

?

If that's the case, I can work on this if you'd like.

carlosmperezm avatar Oct 27 '25 23:10 carlosmperezm

@carlosmperezm Yep, but I'd recommend just assigning the first section "Introduction Sequence" as a whole rather than only a few subsections. Add that to the "A Deeper Look at Git" lesson assignment (probably as a first item would be best), then remove the "Learn Git Branching" additional resource from "Working with Remotes".

mao-sz avatar Nov 07 '25 16:11 mao-sz