Genetic Programming (GP) is an evolutionary optimization method for generating tree structural programs. It is important to maintain the population diversity for preventing GP search from falling into local optima. For this purpose, we propose a new method which introduces a concept of genealogy into the population. We call the method Genetic Programming using the Best Individuals of Genealogies (GPBIG). Information on genealogy is assigned to each individual, and the best-so-far individuals in respective genealogies are preserved as the genealogical elite individuals. The population is reconstituted every generation by selecting the individuals from the pool of the genealogical elite individuals. In addition, the search property shifts from global to local search gradually by extinguishing unnecessary genealogies. We examined the effectiveness of our method by comparing with the standard GP in search performance in three kinds of benchmark problems.