Git MERGE vs REBASE: Everything You Need to Know