Some color changes are a bit different than others. The way to change the color in a stitch is the same, I discuss that here. However, there times when a couple of other little tricks can make the color change smoother, and your fabric much more eye catching.
One of these times is when the color change may occur within the rows with a shift of the stitches, like a line of color moving diagonally. The color change is not exactly in the same location as the row below, so to have a really clean look you may have to start a new yarn each time or end up with a color strand laying awkwardly across different color stitches.
I for one really do not want to weave in as many ends as it would require to shift a color change every row, so there are a couple techniques I use to reduce the ends while keeping a smooth color edge.
For starters, when I change the color I toss the “old” color stand over the fabric, so that it is on top of the stitches. After completing the row of stitches and returning to the color change point, if I am changing the color before the last stitch of the color I change the color but leave a slightly loose tension in the new yarn. I then crochet over this yarn until I reach the same color, and crochet the next stitch over the loose tension strand in the same color stitch.
If the color change occurs after the last stitch of the color, I pull the yarn that will be changed up and crochet over it until the stitch it needs to be changed in.
Essentially I am working over the color change yarn until it is needed. This helps me keep a smoother look while actually being able to stay sane while working up and finishing the fabric.