Random Nerd
Posted on August 15, 2024
What is Git?
Git is a distributed version control system, which allows for efficient collaboration and merge conflict resolution. Pipelines can be created to streamline the development and production process and supports non-linear workflows through branches and forks.
Having a basic understanding of Git is a must for all developers, whether you are developing as a hobby, or you're sitting in an office reading this article.
Why did you write this?
When I started as a dev, I struggled understanding those over-complicated "beginners" tutorials. This article is written in plain-english.
What we'll be learning
In this article, we'll be covering the basics of git CLI/BASH:
git init
git remote add
git add
git branch
git commit
git push
And two hands-on practical activities to strengthen your understanding of git.
Step 1: git init
I would recommend creating an empty directory to play around with in this tutorial, but if you want, you can use an existing directory.
In this section, we'll be initializing a git repository locally in your selected directory. Open command prompt and cd into your chosen directory, now run the command git init
.
That was easy, we now have a local git repository!
Step 2: Adding a Remote Repository
If you wish to work locally and never push to a devops/git provider like github, you can skip this step.
To add a remote repository, we can run git remote add <<name>> <<url>>
, where name
is what you want to nickname your connection to the remote repository (generally we just call it origin
) and url
is the url of your remote repository.
Step 3: Adding files
The next thing you need to learn is how to add files to git.
git add .
This will change new files, deleted files and modified files. Previously in git 1.0, there used to be a difference between git add .
and git add -A
but since 2.0 they are the same.
git add -u
This will only change modified or deleted files. It will not add new files.
Generally, when you commit, you do not need to run git add
, however, it can be useful if you need separate commit messages for separate files.
Back to the tutorial, lets add a file called index.html
and put inside something very minimal for now:
Save the file and now run git add .
. You should see it adding your index.html
file.
Step 3.5: Branching
You can switch between git branches using git checkout <<branch name>>
, create branches using git branch <<branch name>>
, and view all branches using git branch
.
For now, we don't need to do this.
Step 4: Committing
Every time you finish a feature, it is good practice to commit. When you commit to a repository, it still stays locally and hasn't been pushed to the remote repository.
We've added our file, now lets make our initial commit using git commit -m "<<message>>"
, where the message is your commit message.
Step 5: Pushing
We've finally come to the step where we push our changes to the remote repository.
Run git push <<the remote name from step 2>>
to push your commits to the remote repository.
git push
accepts two optional parameters - remote name and branch name, for example, git push origin main
.
Go sip on a well-earned cup of coffee, you've completed the first half.
Practical 1
Oh No! We forgot the comma in hello world. Go ahead and change the file.
Now we can compare the changes using git diff
.
Great, we're all clear to commit our changes and push to the remote repository!
Practical 2
Hmm, let's add a Javascript timestamp clock to our project.
Add a file called index.js
and copy the code:
Since this is a new feature, let's create another branch. Run git branch timestamp-clock
, then git checkout timestamp-clock
to go to the branch.
Now write your commit and push to the timestamp-clock
branch. In a real-world environment, we would normally continue developing the feature in the timestamp-clock
branch, but for simplicity's sake, let's imagine we've spent hours of work and tens of commits on this branch.
Let's merge it back to the main
branch:
- First, we must checkout to the target branch using
git checkout main
. - Next, we need to run
git merge timestamp-clock
to merge it.
Wrapping Up
Congratulations, you now know the basics of git. Go brag about it to your friends!
Please do drop a comment and let me know how you felt about this article!
Posted on August 15, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 29, 2024