When I switched jobs four years ago, I went from using subversion (svn) to using git as the version control system. Even though I am a pretty quick...
For further actions, you may consider blocking this person and/or reporting abuse
Adding one from my side,
Ability to modify previous commits.
Hi Henrik,
a hint to your point #5 ... In svn you can do a merge in your working copy without committing back to the server.
If you think you done something wrong you can simply do a
and start from beginning. Afterwards you can do the final commit
But I would always recommend to run your build including tests before I finally commit.
Thanks for the tip! I'm only using git these days, but you never know...
It is interesting that you use the phrase, "makes the Commits available." In svn the merge has you apply all the branch changes in one commit then it Commits meta data so tools can show history. Git has the meta data native to its structure.
I keep finding out how important it is to emphasize that git Commits are safe. Merge and rebase have --abort. If you don't use hard or force git won't touch your files, but then they use gui that warns in a dialog everyone ignores.
4 was a huge one for me too, I also came from a SVN to GIT background. Rebase still is like magic somedays :)
These were the exact same aha moments I had when learning git (in a heavily cherry-pick biased team). Nice post for folks learning the ropes. :)
βgit reset βhard HEAD~β always saviour for me!!! Also instead of you could have mentioned about git rebase.
Your talk of periodically merging master into b makes be think you should just rebase b onto master instead.
For small changes, rebase is fine, but for bigger changes I prefer merging.
I never merge ... you squash all the commits into one. I only ever rebase. Only. Ever. Rebase. Good luck! Paul
For small changes and short-lived branches (which are most common), I prefer rebasing. For long-running branches with really big changes (changing how a major feature works, changing a framework), I prefer merging.
Regardless, understanding that you can merge in both directions, and why that works, improves your knowledge of git.
Now, try tj's git extra. You'll be blown away ... π―
also git merge --abort is a good command to do , if you find that you are messing up the merge
Agreed, good point!
Any particular GUI front-end you use for Git, or do you prefer using Git from the command line?
(I include Xcode or Visual Studio or Eclipse or other Git-savvy IDEs as a front-end.)
I mostly use git from the command line, but I also look at diffs and file histories from within PyCharm.