My Journey Into Git
I have come a long way the past years with the version control system Git. At first, I was pretty scared of even touching Git on the cli. Not long ago, I even asked my team mates to run Git commands on my machine to fix things for me. 😞 Time has past since then and a lot has changed in my life. I got brave to take much more "risks" of constantly learning new things on the go and keep asking myself: What can possibly go wrong when you don't know stuff yet?
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 courses and get enlightened! 😅
gentle intros and a bit more
- 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
- Getting started with Git
setting up a repository
how to setup 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?
git fast forward
- 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
git merge vs git rebase
git reset and revert
git flows/branching models
- 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
- Basic Git branching?
git log and diff
- 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
Git repository manager
Here are just a few repository managers which you can choose from. All of them emphasise the collaborative work for a team.
Documentation done with Git
- 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
talks, workshops and courses
- 30min talk by David Baumgold
- 1h workshop by David Baumgold
- 1h talk by Lorna Jane Mitchel
- Some courses to master Git and GitHub
doc & books
other nifty stuff
- 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
- Top 20 Git Commands
- Lesser known Git commands
- Git History
cool blog posts
- A gentle intro to Git
- Six tips for Git success
- Git aliases
- A simple Git workflow for GitHub beginners and everyone else
- Start Using Git on the Command Line Like a Pro in Five Minutes
- How to Git on a Team
- Several Git posts from Srebalaji
- Rookie Git Mistakes To Avoid
GitHub specific things
I also have a GitHub account where you can follow my moves. Of course I will follow you back if you want to share something 🙃Follow @simonberner