Using DBT on ETL pipeline

Hello! I’m confused about the usage of dbt in this scenario. I need to extract data from a transactional data source and model it in a star schema for inclusion in a data warehouse. My question is, is the only way to update this table by using incremental loading with dbt? I see many people using a full refresh strategy, but if I do a full refresh, I lose my historical data or dbt saves it in a temp table and load it again?