Після того, як ви натиснули, найімовірніший варіант розірвання речі, ймовірно, є git revert
:
git checkout master
git revert commit1 commit2
git merge new-branch
git push
Зауважте, що це призведе до того, що у мастера є абсолютно ті самі файли, що й у новій гілці, але commit1 та commit2 все ще будуть в історії майстра, разом з двома додатковими комісіями, що повертають їх зміни.
НЕ РЕКОМЕНДОВАНО
Якщо ви дійсно дуже хочете фактично видалити комісії, які ви вже відштовхували від майстра, спочатку повідомте всіх своїх товаришів по команді, що ви, ймовірно, будете ламати речі, а потім використовуйте git reset
:
git checkout master
git reset --hard commit3
git merge new-branch
git push -f
--hard
видалить з вашої файлової системи всі зміни, внесені commit1 та commit2. Ви можете використовувати --soft
для збереження цих змін у файловій системі, одночасно видаляючи ці коміти.
Можливо, ви захочете вказати своїм товаришам по команді на документацію для відновлення з висхідної бази даних (git reset points до цього розділу, коли йдеться про використання reset --hard
вже натиснутих комітетів).