With a pattern.
In this case a 3 axis grid (triangular).

Once you know what to draw on each piece, you need to repeat this.
You can have and use sub-patterns or smaller ones to be more exact.
These patterns are pretty easy to draw, and they are used for example in architecture in different cultures. We are used more to a square pattern, but this triangular pattern can produce hexagonal and rhomboidal patterns as well.

And you can play with it to start building ripples, but still, you repeat the internal objects on this now deformed patterns.
Look how many patterns you have with this triangular grid.
Grab a paper and a ruler, draw some pages and find some more patterns!
This is a typical example of introductory classes at the University. We called it "Little Squares 101" Or "Sticks and Balls II" (That was the second course) and yes, we drew this by hand.
You can also see these patterns in 3D often used in Architecture.
Regarding the comment:
I really see no difficulty to draw this lizard by hand. Look at the second image, it clearly marks the middle of the triangle and where the legs should intersect them. I would probably have a reference drawing but draw those by hand. Especially if the next lizard will turn into a duck... Metamorphosis...
Additionally, comparing two lizards they are not exactly the same.
When you are using a pattern, you let the pattern guide you.
Edited some years later. Let us explore how Escher used these grids to develop part of his work.
Here is a screen capture of the website: https://mcescher.com/gallery/symmetry/
where you can see how he used a two-axis grid rotated 45° next to a work using a three-axis grid. The grid even shows in pencil.

The grid is only a starting point. You have some other resources like mirroring, rotating, and scaling. But art is about taking the resources you have as a guideline, not as a limitation.
Here the "deformation" of the grid is extreme, the grid itself has its own new shape:

Source: https://mcescher.com/gallery/mathematical/
Remember that you can create subpatterns (smaller ones) or superpatterns (bigger ones)