Как да изтриете ангажимент в Git

Изтриването на ангажимент в Git е нещо, което може да правите по-често, отколкото бихте очаквали. При такава често срещана задача вероятно ще ви е удобно да имате кратко ръководство.

Как да изтриете ангажимент в Git

Тази статия отговаря как да изтриете Git ангажимент и други възможни решения, които можете да опитате. Така че, ако направите грешка в последния си ангажимент или искате да изчистите историята на вашето репо, прочетете нататък, за да разберете.

Изтриване на ангажимент в Git

Можете да изтриете ангажимент в Git по няколко начина. Ако не искате или не можете да промените съобщението за поемане на Git , тогава най-често срещаното решение е да използвате командите „git reset“ и „git revert“.

За да използвате „git reset“, направете следното:

  1. Намерете ангажимента, който искате да изтриете с git log .
    Как да изтриете ангажимент в Git
  2. Използвайте git reset –soft [commit hash], за да отмените команда за извършване, без да „изстрелвате“ нищо.
    Как да изтриете ангажимент в Git
  3. Или използвайте git reset –hard [commit hash], за да нулирате към комита преди този, който искате да изтриете.
    Как да изтриете ангажимент в 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. Нулирайте master до последния използваем комит с 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 [commit hash]“, за да проверите ангажиментите. Ако премахвате ангажимент, който е добавил няколко функции към вашия код, уверете се, че вашият проект не се нуждае от тези функции, за да работи или че те са репликирани другаде.

Ангажиране с това

Има много причини да изтриете ангажимент в Git, като например да поддържате хронологията си подредена, да отмените объркващи грешки или да пазите чувствителната си информация от любопитни очи. Каквато и да е причината, не забравяйте, че има два начина да го направите – „git reset“ и „git revert“, всеки от които служи за различна цел, така че изберете този, който е подходящ за вашия проект. Можете също така да преименувате Git клона за допълнителна яснота.

Налагало ли ви се е някога да изтриете ангажимент в Git? Какъв беше вашият опит и имате ли съвети, които да споделите? Оставете коментар по-долу и продължете разговора.


Leave a Comment

Как да промените вашата тема, цветове и други, за да направите страхотно изживяване на работния плот на Windows 11

Как да промените вашата тема, цветове и други, за да направите страхотно изживяване на работния плот на Windows 11

Научете как да промените темата, цветовете и настройките си в Windows 11 за перфектно изживяване на работния плот.

Топ 10 съвета и трика, за да извлечете максимума от Microsoft Edge

Топ 10 съвета и трика, за да извлечете максимума от Microsoft Edge

Научете топ 10 съвета и трика за Microsoft Edge, за да извлечете максимума от браузъра с помощта на нови функции и подобрения.

Как да активирате връзките на отдалечен работен плот към вашия компютър с Windows 10

Как да активирате връзките на отдалечен работен плот към вашия компютър с Windows 10

Научете как да активирате връзките на отдалечен работен плот на Windows 10 и получете достъп до вашия компютър от всяко устройство.

Как да коригирате проблеми с Bluetooth в Windows 10

Как да коригирате проблеми с Bluetooth в Windows 10

Bluetooth ви позволява да свързвате устройства и аксесоари с Windows 10 към вашия компютър без нужда от кабели. Открийте как да решите проблеми с Bluetooth.

Как да промените потребителското име в Instagram

Как да промените потребителското име в Instagram

Ако мислите как да промените потребителското име в Instagram, вие сте на правилното място. Прочетете блога от началото до края, за да разберете лесните стъпки и полезните съвети.

Windows 10 Как да: Синхронизиране на настройките на компютъра във всичките ви устройства с Windows 10

Windows 10 Как да: Синхронизиране на настройките на компютъра във всичките ви устройства с Windows 10

Синхронизирайте настройките на Windows 10 на всичките си устройства с новото приложение Настройки. Научете как да управлявате настройките за синхронизиране на вашия акаунт в Microsoft.

8 съвета и трика за по-интелигентно търсене в Bing

8 съвета и трика за по-интелигентно търсене в Bing

Открийте как да използвате Bing по-ефективно с нашите 8 съвета и трика. Научете как да подобрите търсенето си в Bing.

Как да изтриете страница в Word {Ръководство}

Как да изтриете страница в Word {Ръководство}

Опитвате се да изтриете празна страница в Word? В това ръководство ще ви покажем как да изтриете страница или празна страница в Word.

Как да видя кой е прегледал моя профил в Instagram

Как да видя кой е прегледал моя профил в Instagram

Това е един от най-големите въпроси, които потребителите задават, ако могат да видят „кой е прегледал техния профил в Instagram“. Научете как да проследите тези, които гледат профила ви!

Как да се свържете с Wi-Fi на телевизор Samsung

Как да се свържете с Wi-Fi на телевизор Samsung

Въпреки че телевизорът вероятно ще функционира добре без интернет връзка, ако имате кабелен абонамент, американските потребители започнаха да преминават към онлайн