Як видалити комміт у Git

Видалення коміту в Git — це те, що ви можете робити частіше, ніж очікували. З таким поширеним завданням вам, ймовірно, буде корисно мати короткий посібник.

Як видалити комміт у Git

У цій статті описано, як видалити комміт Git та інші можливі рішення, які ви можете спробувати. Отже, якщо ви зробили помилку в своєму останньому коміті або хочете очистити історію свого репо, читайте далі, щоб дізнатися.

Видалення коміту в Git

Ви можете видалити комміт у Git кількома способами. Якщо ви не хочете або не можете змінити повідомлення Git commit , то найпоширенішим рішенням є використання команд «git reset» і «git revert».

Щоб скористатися «git reset», виконайте наступне:

  1. Знайдіть комміт, який потрібно видалити, за допомогою git log .
    Як видалити комміт у Git
  2. Використовуйте git reset –soft [commit hash], щоб скасувати команду commit без «нуклеювання».
    Як видалити комміт у Git
  3. Або скористайтеся git reset –hard [хеш коміту], щоб скинути коміт перед тим, який ви хочете видалити.
    Як видалити комміт у Git
  4. Замініть «[хеш коміту]» на хеш коміту, який ви націлюєте.

Крім того, ви також можете використати «git rebase -i HEAD~[Number]», щоб перебазувати останню кількість комітів. Замініть [число] на кількість комітів. Git покаже вам файл, який ви можете редагувати, і видалити комміт, який ви хочете видалити. Робіть це, лише якщо ви ще не натиснули на фіксацію.

На перший погляд це простий метод, але будьте обережні. Він остаточно видаляє всі зміни в комітах після того, до якого ви його скинули, тому переконайтеся, що це саме те, що ви хочете.

Крім того, ви можете використати «git revert» так:

  1. Якщо ви хочете зберегти зміни у своєму робочому каталозі, використовуйте git revert [commit hash] . Ця команда створює новий комміт, який скасовує зміни з указаного вами коміту.
    Як видалити комміт у Git
  2. Після повернення надішліть зміни у віддалений репозиторій за допомогою git push .
    Як видалити комміт у Git

Ось ще одна альтернатива, якщо ви хочете видалити кілька конкретних комітів:

  1. Використовуйте git checkout [хеш останнього коміту], щоб перевірити останній коміт, який має залишитися.
    Як видалити комміт у Git
  2. Створіть нову гілку за допомогою git checkout -b repair .
    Як видалити комміт у Git
  3. Запустіть git cherry-pick [конкретний хеш коміту] на першому коміті, який ви хочете зберегти.
    Як видалити комміт у Git
  4. Повторіть для інших комітів, які ви хочете зберегти.
  5. Запустіть git checkout master до checkout master.
    Як видалити комміт у Git
  6. Скинути майстер до останнього придатного для використання коміту за допомогою git reset –hard [хеш останнього коміту] .
    Як видалити комміт у Git
  7. Об’єднайте нову гілку для опанування за допомогою git merge repair .
    Як видалити комміт у Git
  8. Потім запустіть git push -f origin master, щоб надіслати на віддалений пристрій.
    Як видалити комміт у Git

Коли слід видаляти коміти

Є кілька ситуацій, коли видалення коміту є найкращим, що можна зробити. Ось деякі з них.

Поганий код

Однією з найпоширеніших причин, чому ви хочете позбутися коміту, є те, що код у ньому просто не скорочує його. Можливо, ви зробили помилку і хочете почати все спочатку, або, можливо, ви зрозуміли, що результат не відповідає тому, чого ви намагаєтеся досягти. Наприклад, можливо, ви додали функцію, яка конфліктує з іншою частиною вашого коду. Видалення цього коміту дозволить вам повернутися, виправити проблему, а потім повторно зафіксувати виправлену версію.

Якщо ви щойно зафіксували фрагмент коду, а потім помітили кричущу помилку, як-от баг або фрагмент коду, якого там не повинно було бути, але у вас немає часу це виправити – це вагома причина щоб видалити фіксацію. Замість того, щоб цей непотрібний або недосконалий фрагмент коду залишився в історії вашого проекту (і потенційно міг спричинити плутанину чи навіть катастрофічні помилки у виправленні помилок), ви можете видалити цю фіксацію. Це збереже ваш проект чистим.

Конфіденційні дані

Випадкова передача конфіденційних даних трапляється частіше, ніж ви думаєте. Не дивно, що це може становити значний ризик для безпеки, як особистої, так і корпоративної. Усе, від паролів і ключів API до особистої інформації, може непомітно опинитися у вашому коміті. І як тільки він з’явиться в просторі проекту, будь-хто зможе отримати до нього доступ і потенційно порушити безпеку вас або вашої команди.

Ці нещасні випадки, мабуть, навіть кращі причини для видалення коміту, ніж просто поганий код. Ви можете відредагувати помилковий код і не хвилюватися про те, що він залишиться в історії проекту, але це не ризик, який ви б хотіли взяти на себе з конфіденційними даними. Наприклад, якщо ви випадково зафіксували файл, що містить ключі API, видалення цього закріплення запобігає потраплянню цього ключа в чужі руки.

Чистота історії

Ще одна вагома причина для видалення коміту Git — це збереження чистоти та простоти історії вашого проекту. Коли ви працюєте над проектом, ваша історія комітів стає все більш захаращеною незначними оновленнями, експериментами або змінами, які більше не є актуальними. Якщо ви хочете переглянути історію з будь-якої причини, наприклад, щоб з’ясувати, чому ви зробили певну зміну або повернутися до стабільного стану після експерименту, захаращена історія може стати проблемою.

Видаляючи непотрібні коміти, ви зберігаєте свою історію проекту охайною та легкою для вас та інших у вашій команді. Це навіть корисніше перед об’єднанням гілки, щоб ви могли представити чітку, коротку та відповідну історію тому, хто переглядає ваш код. Наприклад, якщо у вас є кілька комітів, які є лише незначними налаштуваннями функції, ви можете стиснути їх в один комміт, щоб зберегти свою історію акуратною.

Найкращі практики та поради

Перед видаленням коміту дотримуйтеся деяких практичних порад, щоб зберегти працездатність вашого проекту та уникнути небажаних наслідків.

Резервне копіювання вашої роботи

Перед видаленням будь-якого коміту в Git варто створити резервну копію своєї роботи, навіть якщо ви вважаєте, що її не варто зберігати. Це може здатися зайвою роботою, але резервне копіювання — це захист на випадок, якщо все піде не так, як планувалося.

Ви можете створити резервну копію, створивши нову гілку, яка відображає поточний стан вашого сховища. Наприклад, перед видаленням коміту, який представив нову функцію, створіть резервну гілку «feature-backup». Це дасть вам свободу експериментувати та видаляти коміти, не боячись втратити важливу роботу. Отже, якщо ви пізніше зрозумієте, що вам потрібно щось із видаленого коміту, ви не втратили це назавжди. Якщо ви вирішите, що ця резервна копія вам більше не потрібна, ви можете видалити гілку Git .

Не видаляйте публічні зобов’язання

Працюючи з загальнодоступними сховищами, особливо в проектах з відкритим кодом або в командних середовищах, ви повинні бути особливо обережними щодо видалення комітів. Після того, як коміт відправлено в загальнодоступне сховище, а інші вилучили його, видалення цього коміту може заплутати або відволікти всіх учасників і завадити роботі. Це форма висмикування килима з-під когось – неприємний досвід, але досить неуважний. Якщо вам потрібно видалити комміт, який уже є загальнодоступним, заздалегідь повідомте про це свою команду чи учасників проекту, щоб вони знали, що відбувається. Таким чином, кожен обізнаний і може відповідно коригувати свою роботу.

Використовуйте Revert для публічних сховищ

Якщо ви все ще хочете скасувати зміни в загальнодоступному сховищі, замість остаточного видалення коміту, ви можете скасувати злиття в Git . На відміну від git reset, який фактично переписує історію, «git revert» створює новий комміт, який скасовує зміни, зроблені в попередньому коміті.

Тому використання цієї команди набагато безпечніше та прозоріше, особливо під час роботи з іншими. Ви відкрито повідомляєте членам своєї команди, що, можливо, зробили помилку, і зобов’язуєтеся її виправити. Якщо ви надіслали комміт зі значною помилкою, «git revert» дозволяє швидко нівелювати наслідки цієї помилки, зберігаючи історію проекту недоторканою. Це зберігає цілісність історії проекту та забезпечує узгодженість локального сховища кожного з віддаленим.

Перевірте перед видаленням

Одним із найбільших ризиків під час видалення комітів у Git є втрата часу та зусиль, витрачених на це коміти. Щоб запобігти цьому, перегляньте всі зміни в кожному коміті, який ви хочете видалити. Використовуйте «git log або git show [хеш коміту]», щоб перевірити коміти. Якщо ви видаляєте комміт, який додав кілька функцій до вашого коду, переконайтеся, що ваш проект не потребує цих функцій для роботи або що вони скопійовані в іншому місці.

Прихильність до цього

Існує багато причин для видалення коміту в Git, наприклад, щоб ваша історія була охайною, виправлялися незрозумілі помилки або захистили конфіденційну інформацію від сторонніх очей. Якою б не була причина, пам’ятайте, що є два способи зробити це – «git reset» і «git revert», кожен з яких служить різним цілям, тому виберіть той, який підходить для вашого проекту. Ви також можете перейменувати гілку Git для додаткової ясності.

Чи доводилося вам коли-небудь видаляти комміт у Git? Яким був ваш досвід і чи є у вас поради, якими можна поділитися? Залиште коментар нижче та продовжуйте розмову.


Leave a Comment

Як зменшити гучність у Zoom, Google Meet і Microsoft Teams

Як зменшити гучність у Zoom, Google Meet і Microsoft Teams

Програми для відеодзвінків стали найважливішою частиною віддаленої роботи та навчання. Досліджуйте, як зменшити гучність у Zoom, Google Meet та Microsoft Teams.

Як налаштувати мобільну точку доступу в Windows 10

Як налаштувати мобільну точку доступу в Windows 10

Дізнайтеся, як налаштувати мобільну точку доступу в Windows 10. Цей посібник надає детальне пояснення процесу з урахуванням безпеки та ефективного використання.

Як перевірити та налаштувати налаштування конфіденційності в Windows 10

Як перевірити та налаштувати налаштування конфіденційності в Windows 10

Досліджуйте, як налаштувати налаштування конфіденційності в Windows 10 для забезпечення безпеки ваших персональних даних.

Як перешкодити людям позначати вас у Facebook?

Як перешкодити людям позначати вас у Facebook?

Дізнайтеся, як заборонити людям позначати вас у Facebook та захистити свою конфіденційність. Простий покроковий посібник для безпеки у соцмережах.

Інструкції з Windows 10: надсилайте файли, зображення, музику та відео Bluetooth на всі пристрої

Інструкції з Windows 10: надсилайте файли, зображення, музику та відео Bluetooth на всі пристрої

Пам’ятаєте часи, коли Bluetooth був проблемою? Тепер ви можете ефективно обмінюватися файлами через Windows 10 за допомогою Bluetooth. Дізнайтеся, як це зробити швидко і легко.

Як змінити тему, кольори та багато іншого, щоб створити чудовий робочий стіл у Windows 11

Як змінити тему, кольори та багато іншого, щоб створити чудовий робочий стіл у Windows 11

Ось посібник про те, як змінити тему, кольори та інші елементи в Windows 11, щоб створити чудовий робочий стіл.

Як завантажити Google Meet на ПК, Mac і ОС Chrome

Як завантажити Google Meet на ПК, Mac і ОС Chrome

Детальна інструкція про те, як завантажити Google Meet на ваш ПК, Mac або Chromebook для зручного використання.

Як налаштувати VPN в Windows 10

Як налаштувати VPN в Windows 10

Детальний огляд процесу налаштування VPN в Windows 10 для безпечного та анонімного Інтернет-серфінгу.

Як отримати якнайбільше балів від Microsoft Rewards і легко заробити гроші

Як отримати якнайбільше балів від Microsoft Rewards і легко заробити гроші

Ось як ви можете отримати максимальну віддачу від Microsoft Rewards для Windows, Xbox, Mobile, покупок і багато іншого.

Інструкція: все про Bluetooth у Windows 10

Інструкція: все про Bluetooth у Windows 10

Оскільки продуктивність і доступність бездротових периферійних пристроїв продовжують зростати, Bluetooth стає все більш поширеною функцією на ПК з Windows. Досліджуйте, як підключити та використовувати Bluetooth.