DEV Community

Cover image for How to learn Git slowly.

How to learn Git slowly.

Samuel-Zacharie FAURE on July 18, 2021

Also available on my blog. This post is dedicated to my wife who, despite being one of the smartest person I know, still sucks at Git I've been m...
Collapse
 
bobbyiliev profile image
Bobby Iliev

I love this separation into different levels!

Here is a free opensource eBook that might be helpful for absolute beginners:

github.com/bobbyiliev/introduction...

Collapse
 
waylonwalker profile image
Waylon Walker

👏 git is a weird mindshift that takes time to absorb, I love how you present different levels to master before moving to the next. There are so many learn git in 5 minute posts, this one is more realistic.

Collapse
 
velociwabbit profile image
velociwabbit

git has the worst function naming of any app i have ever encountered.

I have been coding and using git for many years and still make huge unforced errors.

Upstream vs downstream pull vs push they are all bass ackwards

there is a great video on smartereveryday that shows how hard it is to ride a bicycle when the steering is reversed (right turns left, left turns right)

It seems to me that Git functions are the software equivalent of a reversed steering bicycle.

Collapse
 
samuelfaure profile image
Samuel-Zacharie FAURE

My favorite is git merge -X theirs/ours with the meaning of theirs/ours reversed when you rebase.

Collapse
 
grahamthedev profile image
GrahamTheDev

What you can’t master git in 7 minutes like all the articles tell us? 😜🤣

Shame this will get 20 likes as the advice here is great! Have a ❤️ and a 🦄 to try and get this in front the people who need to see it!

Collapse
 
ecyrbe profile image
ecyrbe

Hello,

Thank you for sharing.

For those who will try to find squash command. It's not standard, you can create an alias to mimick the behaviour.
If you just need to squash when merging you can do :

git merge --squash

Collapse
 
samuelfaure profile image
Samuel-Zacharie FAURE

Thank you so much ! I'll correct this.

Collapse
 
raibtoffoletto profile image
Raí B. Toffoletto

Great Roadmap!! I'm seeing a few gaps on my git knowledge through this... time to study now. 😊😊

Collapse
 
bcosynot profile image
Vivek Ranjan

Great breakdown of different categories of commands in git! It took me a few years to fully understand it after daily usage

Collapse
 
evelinchamp profile image
EvelinCHamp

Hey, thanks, man. I’ve been in a slump about using it lately. I’ve been working on some sort of database but with links to various websites. I want to follow something simple like Coinbetz but not related to gambling or bitcoin. Something niche. coinbetz.com/blog/crypto-credit-ca...

Collapse
 
jdeepd profile image
JDeep • Edited

alias git lg="git log --all --decorate --oneline --graph"
is a lifesaver. Normal git log is very messy to understand anything

Collapse
 
samuelfaure profile image
Samuel-Zacharie FAURE

Thank you very much!

Collapse
 
larsejaas profile image
Lars Ejaas

This article is really awesome! Thanks for doing this!

Collapse
 
hevillalobosccxc profile image
HaroldV

Excellent post Samuel congratulation this post is very useful, @samuelfaure you allow me translate this post to spanish ?

Collapse
 
haroldv22 profile image
Harold Villalobos

This is my account sorry @haroldv22 I was connected with the company account jejejeje

Collapse
 
anitagraham profile image
Anita Graham

I normally say "I have a difficult relationship with Git"

Collapse
 
stuartcmd profile image
Stuart

Well done, Samuel, and thanks for sharing.

Collapse
 
reacthunter0324 profile image
React Hunter

Hope it includes sample commands for some cases, or proper tutorial link.
Thanks

Collapse
 
haroldv22 profile image
Harold Villalobos

Hi Samuel congratulation for this post is very useful, I want to ask if you allow me translate this post to spanish ?

Collapse
 
samuelfaure profile image
Samuel-Zacharie FAURE

Sure, as long as you credit and link to the original

Collapse
 
manuelricci profile image
Manuel Ricci

Great article!

Collapse
 
mfurmaniuk profile image
Michael

Nice! I remember working on CVS at first and thought that was simple and easy, especially when automating build scripts, git brought that to a whole other level.