Don't train Charmander, train Mankey, it's got super effective STAB, and is resistant to Brock's Rock Moves. Now, in order to get a Fighting Move, you should train it to Level 6 to get low kick, but you should probably train till level 12 or 13 anyway, by then it'll have Karate Chop too, a good move for Geodude since it's much lighter than Onix, so Low Kick won't do nearly as much Damage to it, and you'll be more matched up level wise, it may take a while, but if you stay at 6, your Mankey's gonna die, it won't be strong enough even with resistance. Low Kick is actually really good on his Onix, as it'll have 120 power against it.
Source: Knowlege and the pokedex pages for Geodude, Onix, and Mankey.