mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-26 09:06:22 +03:00
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
title = Step by step
|
|
cards = checkout commit-auto
|
|
|
|
[description]
|
|
|
|
Welcome to today's lesson! We're going to learn how to make commits with more precision!
|
|
|
|
Have a look at these two timelines. They have exactly the same outcome. But one of them makes it much easier to figure out what happened.
|
|
|
|
[win]
|
|
|
|
Right! Having each change in its own commit makes it easier to understand what's going on! Let's learn how to do that!
|
|
|
|
[setup]
|
|
|
|
echo "A small, but heavy glass ball." > ball
|
|
echo "A thin book, that's standing upright." > book
|
|
echo "A candle, burning with a blue flame." > candle
|
|
echo "A smoke detector. It's absolutely silent." > smoke_detector
|
|
|
|
git add .
|
|
git commit -m "The beginning"
|
|
|
|
git branch -M all-at-once
|
|
|
|
echo "The ball is now touching the book." > ball
|
|
echo "The book has fallen over." > book
|
|
echo "The candle has been blown out." > candle
|
|
|
|
git commit -am "The end"
|
|
|
|
git checkout HEAD^
|
|
|
|
git checkout -b step-by-step
|
|
|
|
echo "The ball is now touching the book." > ball
|
|
git commit -am "The ball rolls towards the book"
|
|
|
|
echo "The book has fallen over." > book
|
|
git commit -am "The book falls over"
|
|
|
|
echo "The candle has been blown out." > candle
|
|
git commit -am "The book blows out the candle"
|
|
|
|
git checkout HEAD~3
|
|
|
|
[win]
|
|
|
|
# Pick the timeline that's clearer, and make the next logical change!
|
|
git show step-by-step:smoke_detector | grep -v "absolutely silent"
|