You have to be mercilessly methodical in this game.
I have a Word document which is my Table of Forebears.
It lists them all by generation, starting with Generation A (my parents), generation B (my grandparents), generation C (my great grandparents) and so on.
Each has a number within the generation (B1 is my paternal grandfather, B2 my paternal grandmother, B3 my maternal grandfather, B4 my maternal grandmother).
The numbers are assigned to that particular ancestor, whether I know who they were yet or not. The numbers do not change every time I find a new ancestor.
A random entry from this table is:
G29 FF MM MF F: Robert Brothers, 1750 - 1814
So this is someone in Generation G (my great x5 grandparents), he is number 29 in the sequence of ancestors in that generation. He is my father's father's mother's mother's mother's father's father. His name was Robert Brothers, and he lived from 1750 - 1814.
I then have my family history narrative documents. A separate Word document for each generation, on which I note down everything I have discovered about each ancestor, fully footnoted with references to the source material.
Finally, I have a set of files, one for each ancestor, in which I keep all of the documents I have relating to them. A marriage certificate may be copied and appear in up to 6 different files: the files for the husband, the wife, each father, and each witness.
Updating is a constant and ongoing chore.
I have yet to produce two more documents that I believe are needed: an alphabetical directory of all the people referred to in my family history narrative, and a gazeteer of all the places noting relevant family history events that happened there and the dates on which they happened.
A lot of work? You bet ... but the outcomes are worth it.