Опишу лише частину пов'язану з rebasing. Якщо ви працюєте в великому проекті, де код часто змінюєтья і над одним файлом може працювати декілька людей потрібно освоїти механізм rebase. Умова перша - ви маєте коміт який потрібно поравити. Умова друга - після останнього вашого коміту відбулися зміни в master. Що робити? По-перше, завантажуємо останні зміни в master (pull, fetch); По-друге, переходимо в гілку нашого коміту і викoнати: git rebase -i master Якщо команда вернула помилку, тобто деякі файли потрібно мержири вручну. Для цього використовуємо утиліту git mergetool (команди diffg RE, diffg BA, diffg LO). Більше інформації - читати тут . Далі виконуємо команду: git rebase --continue Якщо не маємо конфліктів, виконуємо: git review От і все