At first I was shit scared using the version control system Git. Time has past and today I am a huge fanboy of it. On this page, I collect all the nice little things I’ve crossed so far in the wild wide world about Git. If you have some other cool stuff which I could add, please ping me, thanks.
Not only the selection and usage of a tool makes you invincible, no, mastering by explaining it to others is what makes you a real superhero.
Even Senior Devs are struggling using Git! So grab one of my workshops and get enlightened! 😅
Fun Fact: it's been almost six years since I started working on the Web and I still suck at git. I get by, but deep down I am secretly hiding the feelings of incompetence and terror I have whenever I use it. 😅— Sara Soueidan (@SaraSoueidan) December 10, 2019
And I "secretly" hope I'm not alone! 😂
- WTF is Git?
- Oh Shit Git!?!
- Git is simpler
- Git the simple guide - no deep shit!
- The thing about Git
- Thinking like a Git
- Git refcard
- A Git manual for beginners
- Create a .gitignore file for your project
- 10 Git commands you should know
- Quick reference, GitHub Cheat Sheet, Visual Cheat Sheet
- Git Reference
- Why Git is better than X
- What Is GitHub?
- Visual Git reference
- Learn Git branching
- A Grip On Git
- How to create your first GitHub project
- Git/GitHub tutorial
- What do I need to know about Git
- Advance your test automation skill with source control
- Git-it, learn Git and GitHub
- all things git - the podcast about Git
- Configure Git to use a proxy
- 3 ways to setup author information
- Basic Git configuration
- Manage line ending LF and CRLF with Git
- git commit -am”message”
- How to Write a Git Commit Message
- Specific to GitHub: Commit together with co-authors
- How can I change the author name / email of a commit?
- What is a commit?
- What? If Master has not diverged, instead of creating a new commit, git will just point master to the latest commit of the feature branch. This is a “fast forward.” There won’t be any “merge commit” in fast-forwarding merge.
- Fast forward merge or rebase ? A fast forward merge is a merge where the HEAD of the target branch (e.g. master) can just be forwarded to the latest commit of the pulled (e.g. feature/xyz) branch. If there are commits in between, because the target and the pulled (PR) have diverged, there is no fast forward merge possible and a merge commit will be created! A merge commit contains two parent commit, the latest of the target branch (e.g. master) and the latest of the be pulled (e.g. feature/xyz) branch. A merge commit incorporates the changes from these two parent commits into the target (e.g. master) branch.
- What does fast-forward mean?
- Fast forward and branch mgmt
- Fast forward git merge
- Gitflow Workflow
- Gitflow vs Trunked Based Development
- From Git Flow to TBD
- Code Reviews in TBD
- Lean Git Flow
- 5 types of Git workflow
- 4 branching workflows for Git
- generate gitignore
- A collection of .gitignore templates
- gitignore generator for visual studio code
- How to Write a Git Commit Message
- Writing Good Commit Messages
- How To Write Proper Git Commit Messages
Here are just a few repository managers which you can choose from. All of them emphasise the collaborative work for a team.
- If you use GitHub as remote repository manager and you do pair programming, add this to the commit message and then you and your pair will get the git commit credit:
Co-authored-by: your name <yourgitemailaddress>
Co-authored-by: your co-author <theirgitemailaddress>
- A visual log for Git command line
- Lord of the files: GitHub
- GitHub Cards
- What to install
- Learn git branching
- Git GUI Clients
- Git Guide
- Reimplement Git from scratch
- A Git clone written in Rust
- Gource - the ultimate version control visualisation tool
- GitHub Browser Code Tree Navigation
- GitHub’s mascot in variations
- Windows: Git with cmder
- Windows: Setting up Git with cmder
- GitPitch - Modern slide decks
- gitMemory can provide actual and interactive information in viewing a project’s repository and it’s memory. You can see the number of open issues and closed issues in an interesting display, as well as the programming language used in a project, along with contributors who join them.
- When You “Git” in trouble
- GitHub Universe
- ~(tilde) vs ^(caret) vs @(at sign)
- Skip WorkTree
- A gentle intro to Git
- Six tips for Git success
- Git aliases
- A simple Git workflow for GitHub beginners and everyone else
Currently I offer two different workshops about Git. One for beginners and one for power user. To get you ready for the workshop, I made a small GitHub repo:
And if you don’t follow me on GitHub already, you can do so ;)