Version Control can be a mysterious thing at first. Why exactly do I need this?? Before long, though, you depend on it with your life. If you're new to this world, let me help!
Say Hi To Git
As with most tools, step one is to install it! Let's tackle that, and then perform our first commit.
What Git Add Actually Does
So you've learned how to add and commit files. But what exactly does that even mean, and what does each command do? 'Tis confusion!
Fixing and Amending Commits
Almost immediately, you'll fall into a trap where you've made a commit, only to realize that you forgot something or made any sort of error or typo. Do you create a new commit? Do you amend the last one? Do you start over from scratch?! Don't worry;...
Basic Workflow
Before we move on, let's review the basic workflow you'll use when working on projects. Most importantly, we'll review the important question, "When are you supposed to create new commits"?
Branching
Back to the Future 2 is the key to understanding Git branching. I know, that sounds weird, but it's true!
Handling Merge Conflicts
From time to time, you'll encounter a merge conflict. Yikes! How is Git supposed to know which piece of code you wish to favor, when it has been modified on two separate branches? Well, it doesn't! That's your job.
Git Aliases
You'll very quickly grow tired of typing these commands over and over. Instead, create some helpful aliases for yourself.
Stash Away Changes
What about situations where you need to stash away changes temporarily, in order to switch to, for example, your master branch to perform some sort of hot fix? Sure, we could commit, but what if we're not ready for a commit just yet? How do we handle...
Pushing to GitHub
Now that you've learned the basics of Git, let's figure out how push your repository up to GitHub.
Rebasing
You've learned how to merge branches, but did you know that there's a second way to merge changes? Git rebasing offers a way to rebuild a clean commit history. It can be a bit confusing at first, so let me demonstrate the basic concept in this video.
Interactive Rebasing
What about the times when you end up with a series of somewhat disjointed commits that don't even remotely tell a story. Perhaps commit messages like "WIP" or "fix typo" are littered throughout the implementation of some given feature. Is it possible...
این دوره هنوز به پایان نرسیده است و در آینده درس های دیگری به آن افزوده خواهد شد.