In the city managament window, you can choose which tiles are currently being harvested. The food of all these tiles is summed up and divided between maintenance (each citizen [the faces, not the "100.000" or whatever number] needs 2 food units per turn, and each settler that is supported from this city also needs 1-2 food units per turn, depending on the government).
The excess food is added to the food storage of the city after each turn. When the storage is full, your city grows by one, and the storage becomes empty again (or half empty if you have a granary, but granaries are usually just a waste of time and resources).
If your government is despotism (or anarchy, but that is not a "real" government type), then each square that would normally produce 3 or 4 food units per turn will produce one food unit less than it normally would. To change this, have a revolution and switch to a different government (preferably Republic). Then your cities can grow faster
Once you have discovered Railroad, you can furthermore increase the food production of squares by building railroads (this will only increase food production if the square produces at least 2 food units so far).
To harvest the fish, simply select it in the city managemant window. No further action needed
