Prepare the ingredients per the instructions above.
In a small bowl, stir together softened butter and garlic. Gently scoop out the inside doughy part of the roll. Then spread garlic butter onto the insides of each sub roll.
Add half of the oil to a skillet over medium heat. Saute the onions and pepper (if using) until golden brown and caramelized, then transfer to a bowl.
Increase the heat to high and add the remaining oil. Spread the shaved beef in an even layer. Let it brown nicely for a couple of minutes undisturbed, then saute until it is fully cooked through. Then stir in the onions and peppers (if using) and season with salt and black pepper to taste.
Divide into even portions in the pan, top each with 2 slices of cheese, and turn off the heat so the cheese will melt without overcooking the meat. Optional: Cover with a lid to help melt the cheese faster.
Heat a large nonstick skillet over medium heat. Toast the rolls buttered side down until golden brown, then set aside.
Spread a thin layer of mayo on the toasted side of each roll. Place a portion of the beef into the roll.
Mix the sparkling water and lemon. Add ice if desired.
Serve the cheesesteak with carrot sticks, ranch, and lemon sparkling water.