Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. by Martin Fowler here.
When thinking of internet scale services we normally think of Google, Facebook and some other companies, but rarely about Microsoft. This paper from 2007 (!!!) from James Hamilton is a tremendous source of information on how to run internet scale services.
In this article I will talk about the ways we have available to undo things when using git. I will tackle
git clean and
Continue reading Undo changes in git
Imagine it’s Friday, you are in a hurry and someone asks you to check on something really quickly. You open the terminal, prepare to checkout a new branch, but before that you just perform a
git reset --hard HEAD~.
Continue reading Git hard reset, now what?
Sometimes we choose the wrong name for our branch or we add some misspelled word and we need to rename the branch.
Continue reading Rename a branch in git