DEV Community

Cover image for Everything you need to know about GIT

Everything you need to know about GIT

Renato Teixeira on February 05, 2024

I'm sure you can imagine the importance of versioning code, so that we can revert changes and recover lost data among other possibilities. I bet yo...
Collapse
 
cherryramatis profile image
Cherry Ramatis

Really cool to explain git as a descentralized system , awesome!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

Yay! This was really interesting for me, I'm glad that you liked 😀

Collapse
 
kitanga_nday profile image
Kitanga Nday

The second I saw the intro I knew this was going to be an awesome article. Very few people realise that git was meant to replace duplicating, or worse yet, zipping the entire project, to create different versions of the same file(s). Good write up.

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I'm glad you liked! thanks for sharing your thoughts. 💙

Collapse
 
lorenalgm profile image
Lorena GM

Great and necessary article!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

Thanks! 💜

Collapse
 
henriqueleme profile image
Henrique Leme de Brito

Pretty sure some friends of mine will like this one article

Collapse
 
reenatoteixeira profile image
Renato Teixeira

Nice! Don't forget to tell them! 🤟🏻

Collapse
 
wesborland profile image
Marcos Javier Gómez Hollger

This is georgeous! Thanks for your time to make this posible. ❤️

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thank you! it's nice to hear that! 😀

Collapse
 
hopape profile image
hopape

"Outdoor Gear Reviews: Git is a powerful version control system used by developers to track changes in their codebase. It allows for collaboration, tracking of modifications, and reverting to previous versions if needed. Understanding Git basics is crucial for efficient teamwork and managing code repositories effectively."

Collapse
 
reenatoteixeira profile image
Renato Teixeira

yes! thanks for sharing your thoughts! 😃

Collapse
 
_michellemello profile image
Michelle Mello

Thank you so much for sharing this! It will be really useful!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I'm glad you liked! 😊

Collapse
 
datta3 profile image
Rukmaiwad Dattatri

Good post for begineers! great explaination.!!

Collapse
 
hamza12700 profile image
Hamza

LazyGit is pretty good git client (TUI) and can speed up the process significantly ones you know the keybindings.

Collapse
 
reenatoteixeira profile image
Renato Teixeira • Edited

nice to know that, I'll definitely take a look! thanks for sharing 💙

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
lymah profile image
Lymah

Great post. Thanks for sharing.

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I'm glad that you liked! 😀

Collapse
 
lokendarjangid profile image
lokendar jangid

Great explanation

Collapse
 
reenatoteixeira profile image
Renato Teixeira

glad you liked! 😀

Collapse
 
luiscarlosb3 profile image
Luis Carlos Galvão de Oliveira

Congrats for the article, I wish there where smth like this post when I started with git, had would helped me a lot

Collapse
 
reenatoteixeira profile image
Renato Teixeira

that's what I was thinking when I was writing it, I'm really happy to hear that from you! 💜

Collapse
 
anthonyvii profile image
Anthony Vinicius

One of the most complete articles I've ever seen! Congratulations!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thank you, I really appreciate that!🙏🏻

Collapse
 
kecbm profile image
Klecianny Melo

Article with a super necessary theme, congratulations on the work @reenatoteixeira!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks! 😃

Collapse
 
klimd1389 profile image
Dmytro Klimenko

Thank you for explaining to me what this is all about!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thank YOU! 😃

Collapse
 
pradumnasaraf profile image
Pradumna Saraf

Very well explained. Thanks for writing.

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I'm glad that you like it!

Collapse
 
lilxyzz profile image
Travis

Great post Renato, I enjoyed the simplified explanation. 🔥

Collapse
 
pedrovian4 profile image
pedrovian4

Really nice!!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks bro! 💙

Collapse
 
mayefa10 profile image
mayefa10

great article thank you
very well explained how git works

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thank you! I'm glad you liked 💙

Collapse
 
diazwatson profile image
Raul E Watson

I know people whom still (Feb 2024) back up files and create versions of them by duplicating and adding a number (or creative a name) at the end. 😭😭😭

Collapse
 
reenatoteixeira profile image
Renato Teixeira

wow! I can't say that I don't know someone who do that too lol
may we share this article with these people 😀

Collapse
 
lovestaco profile image
Athreya aka Maneshwar

My students who are not aware of Git will love the simplified explanation :D
Great efforts, keep up!!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

This is awesome! I'm glad it helps. 😃

Collapse
 
guim0 profile image
Guimo

Love it! I really like the use of gifs, great explanation

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks! GIFs make everything better lol

Collapse
 
get_pieces profile image
Pieces 🌟

This is such a useful guide and well explained too. 🚀

Collapse
 
reenatoteixeira profile image
Renato Teixeira

woah, thank you! glad you like it 💜

Collapse
 
renanvidal profile image
Renan Vidal Rodrigues

Amazing article!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks Renan!

Collapse
 
nevidomyyb profile image
Pedro Cunha

This is amazing to be familliar with GIT!!!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

knowing GITs main commands and its features definitely worth it! 😄

Collapse
 
camilacodes profile image
Camila Figueira

Really good! I need to know where do u make thoses gifs? I love it

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I'm glad you liked it! I've used Photoshop to make the GIFs (don't know if there's a better way lol)

Collapse
 
cjcheshire profile image
Chris Cheshire

Some great detail in here.

I’d urge people to always git pull —rebase

Avoids some horrible issues

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks for complementing! 😀

Collapse
 
gxolivei profile image
gabriel

You, my dear, is owning everything!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

we're starting something here! thanks bro 💜

Collapse
 
fernandafmsf profile image
Fernanda Fernandes

Amazing way of teaching about git!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks! glad you liked it! 💜

Collapse
 
_ndeyefatoudiop profile image
Ndeye Fatou Diop

Great post ! So whenever I develop I generally use VSCode Source Control Panel and I find it pretty helpful to avoid remembering all the command

Collapse
 
reenatoteixeira profile image
Renato Teixeira

nice to know that! actually, I'm using the VS Code Source Control Panel too, and I've tried GitHub Desktop before too, both are really good!

Collapse
 
codingmaster97 profile image
codingmaster97

GIT is great for all coder

Collapse
 
fariastulioa profile image
Tulio Farias

Thanks for sharing!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

glad you liked!

Collapse
 
bhavycodes profile image
Bhavy Ladani

One of the best articles on Git with simple to understand language. Thanks man :)

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks! I really appreciate that 💙

Collapse
 
vinidotruan profile image
Ruan Vinícius

Wtf did u make here bro? That´s a treasure.

Collapse
 
reenatoteixeira profile image
Renato Teixeira

wow, thanks! I'm glad that you liked!

Collapse
 
moscosooo profile image
Giulia Moscoso

Thanks for publishing this one!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thank you! glad you liked 😀

Collapse
 
joaofpedro profile image
João Pedro

That's a really good explanation Renato!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks João!

Collapse
 
matheuswebp profile image
Matheus Melo

Amazing article!

Collapse
 
reenatoteixeira profile image
Renato Teixeira

thanks!

Collapse
 
darkmathew profile image
Matheus Santos

Good job Renato, you managed to be clear, objective and explained the concepts without having to fill in too many technicalities.

Collapse
 
reenatoteixeira profile image
Renato Teixeira

I really appreciate that, thanks! glad you liked 😄

Collapse
 
gdantasdsilva profile image
Gabriel Dantas

Its most complete article about git i ever see, congrats

Collapse
 
reenatoteixeira profile image
Renato Teixeira

nice to hear that Gabriel! thanks 💙

Collapse
 
gelok profile image
Info Comment hidden by post author - thread only accessible via permalink
gelok

MPO007 is not a recognized keyword or term commonly associated with Git. However, I can provide a comprehensive overview of Git:

Git is a distributed version control system (DVCS) primarily used for source code management. It allows multiple developers to collaborate on projects efficiently, keeping track of changes and coordinating work seamlessly. Here's a breakdown of key concepts and commands:

Repository: A repository, or repo, is a collection of files and folders along with the history of changes made to them. There are two types: local (on your computer) and remote (on a server).

Clone: To create a local copy of a remote repository, you use the git clone command.

Commit: A commit is a snapshot of changes made to files in the repository. You use the git commit command to save these changes along with a descriptive message.

Branch: A branch is a parallel version of the repository. It allows you to work on new features or fixes without affecting the main codebase. Use git branch to manage branches.

Merge: Merging combines changes from one branch into another. Use git merge to merge branches.

Pull: Pulling is the process of fetching changes from a remote repository and merging them into your local branch. Use git pull to do this.

Push: Pushing sends your local commits to a remote repository. Use git push to update the remote with your changes.

Fetch: Fetching downloads changes from a remote repository without merging them into your local branch. Use git fetch for this purpose.

Remote: A remote is a connection to a remote repository, typically hosted on a service like GitHub or GitLab. You can add, remove, or manage remotes with git remote.

Pull Request: In centralized workflows like GitHub, a pull request (PR) is a request to merge changes from one branch into another. It allows for code review and collaboration.

Conflict: Conflicts occur when Git cannot automatically merge changes from different branches. You need to resolve conflicts manually before committing.

Rebase: Rebasing is the process of moving or combining a sequence of commits to a new base commit. It helps maintain a cleaner commit history. Use git rebase for this.

Tag: A tag is a label used to mark specific points in history, such as releases or milestones. Use git tag to manage tags.

Stash: Stashing temporarily shelves changes so you can work on something else. Use git stash to stash changes and git stash apply to reapply them later.

Configuration: Git can be customized using configuration settings. Use git config to set preferences like username, email, or default editor.

This overview covers the fundamental concepts and commands in Git. Mastery of Git comes with practice, so feel free to experiment with these commands in a safe environment to deepen your understanding.

Collapse
 
kevenalex profile image
kevenalex

I loved this article, congratulations!

Some comments have been hidden by the post's author - find out more