Есть ствол, где идет основная разработка.
Есть feature branches - для экспериментов с отдельными идеями, иногда довольно
продвинутыми. Одна такая ветка жила два года. Но в норме идея в том, что ты
форкаешь ветку, реализуешь фичу, прогоняешь ее через тестовую ферму (была
система автоматической сборки и прогона тестов), и либо в конце концов
решаешь, что идея была дурацкая и просто убиваешь ветку, либо вливаешь
результат в основную (если точнее, то технологически ты сначала вливаешь
пропущенные изменения из ствола в свою ветку, снова тестируешь, и только потом
вливаешь результат в ствол).