Skip to content

Latest commit

 

History

History
46 lines (38 loc) · 3.86 KB

Overview.md

File metadata and controls

46 lines (38 loc) · 3.86 KB

Overview of the Git Kata Exercises

Setup

  1. configure-git - If git is not configured, some basic configuration steps

Basic Git Katas in Suggested Order

  1. basic-commits - Very basic creation of commits.
  2. basic-staging - Interacting with the stage (index).
  3. basic-branching - The first stride into branching.
  4. ff-merge - A tour around the most trivial of merges.
  5. 3-way-merge - A basic merge, involving multiple diverged branches.
  6. merge-conflict - A basic merge between diverging branches with incompatible (but simple) changesets.
  7. merge-mergesort - A merge conflict with actual code.
  8. rebase-branch - Using rebase as an alternative to merging.
  9. basic-revert - Use revert to revert a change
  10. reset - Reset is a powerful and slightly dangerous command if you do not know what you are doing. Go through the three modes of resetting here.
  11. basic-cleaning - Cleaning the workspace.
  12. amend - Amending previous commits.
  13. reorder-the-history - We might have created our commits in a suboptimal order, practice to fix that scenario here.
  14. squashing - A lot of small commits is good when you are working locally, but for sharing your code, it might be more beneficial to deliver your code changes in large sets. Go here to experiment with that. Write a good commit
  15. advanced-rebase-interactive - Practice using the interactive rebase commands.
  16. basic-stashing - The first stride into stashing.
  17. ignore - The basics of using the .gitignore file. And using git rm.
  18. submodules - Submodules are loathed by many. Run through this exercise to see what the ruckus is all about.
  19. git-tag - Tags are convenient for keeping track of commits that bump a version number. In this exercise, you will list, add and delete tags.

Katas that solve standard problems

  1. commit-on-wrong-branch - If we accidentally put unpushed commits on the wrong branch, how do we effectively move them to another branch before our work on that branch.
  2. commit-on-wrong-branch-2 - Another exercise on what to do if you have accidentally committed on the wrong branch.
  3. reverted-merge - We revert a merge, but, after fixes are added to the merged branch, we want the changes from merge and the new fixes.
  4. save-my-commit - Should you accidentally or on purpose delete a commit, go here to try and save it. You will use the reflog.
  5. detached-head - git complains that you are in a "You are in 'detached HEAD' state". What do you do?

Katas On Advanced features

  1. git-attributes - .gitattributes file allows you to specify how git handles files, such as line endings in text files or how to diff a binary file.
  2. Bad-commit - Using git bisect to find a bad commit.
  3. bisect - Another kata using git bisect.
  4. pre-push - A quick exercise in using Git hooks.
  5. Investigation - Discover what is going on in a Git repo, figure out what it looks like under the hood.
  6. Objects - A small exercise into Git internals.
  7. merge-driver - Defining a custom merge driver.
  8. rebase-exec - Run tests on every commit using git rebase --exec