Place meat in a large pan and cover with beef stock and water. Add the carrot and half the garlic along with salt and pepper. Cover and bring to a boil, then reduce heat to low. Skim the surface then recover the pan and cook the meat gently for 2 hours, or until very tender (should shred easily with a fork).
Remove the pan from the heat and let the meat cool in the liquid. When cool enough to handle, remove from the liquid and shred with your fingers and a fork.
Heat the oil in a large, heavy skillet. Add the remaining garlic, the onions, and chilies and cook until tender and onions are soft and translucent. Remove from the skillet and set aside.
Add the meat to the skillet and cook over medium-high heat until browned and crisp. Transfer to a serving dish. Top with the onion mixture and surround with the tomatoes, cilantro, green onion and lime wedges. Serve with warmed tortillas. Enjoy!