Ręczne scalanie ma miejsce wtedy, gdy osoba chce połączyć dwa różniące się pliki w jeden, często posługując się odpowiednimi narzędziami wspomagającymi. Na przykład jeśli dwa systemy mają nieznacznie różniące się pliki konfiguracyjne, użytkownik może je porównać i wybrać to, co lepsze z jednego i drugiego, uzyskując nowe i lepsze rozwiązanie (taki model nazywa się scalaniem dwustronnym). Ręczne scalanie jest również konieczne w przypadku, gdy automatyczne scalanie trafi na konflikt; na przykład niewiele systemów kontroli wersji potrafi scalić zmiany, które dotyczą tej samej linii kodu (jedna może polegać na zmianie nazwy funkcji, a druga być dodanym komentarzem). W takich przypadkach system kontroli wersji decyzję, jak scalić podany fragment, przekazuje użytkownikowi.

Algorytmy scalające są obszarem aktywnych badań. Wobec tego istnieje wiele różnych rozwiązań na scalanie automatyczne, które się od siebie delikatnie różnią. Najbardziej zauważalne algorytmy to scalanie trójstronne, rekursywne scalanie trójstronne, , , i .