my general workflow is something like this:
• load your image into gimp
add a new layer, switch to the clone tool, make sure its set to "sample merged"
• alt-click at the spot you want to copy to set the source point.
• start painting where you want to put the output, itll follow your strokes from the source point and copy it to where youre painting. better to copy too much here, you'll trim it down later.
• use the unified transformations tool to rotate and scale the copied part, very slightly, just enough to obscure the fact that its a copy.
• right click on the layer youve been painting on. add a layer mask, keep "initialize layer to..." set to white (full opacity). click on the layer mask (black and white thumbnail in that layer in the layer list)
• switch to the paintbrush tool and set your color to black, #000000. now anywhere you paint in the layer mask will become transparent. to make it opaque instead paint with white #ffffff on the layer mask. greys will make things partially transparent. here is where you can clean up what you copied earlier. play around with various hardness settings on your paintbrush tool and paint with white black and grey to reduce it and soften the edges to blend it in better with the surrounding area.
layer masks are a very useful but sorta early-intermediate part of learning gimp so they can be intimidating to mess with. but remember they're non-destructive and if you ever need to start over with the masking, you can either fill the entire mask back to white, or right click the layer, delete the layer mask, and remake it to start over.
good luck!