Рубрики
Uncategorized

Скрыть свои постыдные коммиты с помощью сквоша

У всех нас есть те, кто смущает быстрых коммитов. Вот как вы можете изменить их перед объединением других ветвей. Теги с DevOps, Git.

Мы все делаем это, и я уверен, что ты тоже тоже. Вы знаете, быстрые коммиты, когда вы что-то тестируете, затем фиксируете опечатки, затем снова совершаете, нажмите, тестируйте и включите и включенные.

Я обычно делаю это, когда я работаю над развертыванием или кодом сборки, положительный, что это просто крошечное исправление, одна маленькая модификация и это все. Итак, я делаю бессмысленное сообщение, Push Test и см. Ошибка. Давайте назовем это Домохозяйство : Развитие грубой силы.

Теперь я остался с веткой, полной, ну смущает коммитарию, которые направляются прямо к запросу на потяну и обзор кода.

Тем не менее, у меня немного обманывают мою рукав, которая помогает мне толкать эти изменения, как этот инженер 10x в моей команде.

Используйте Git Squash. Кроме того, чтобы выглядеть умнее, вы можете сохранить историю филиала и гораздо более читаемой для других.

Гит-сквош

Сдача коммитов может быть сделано несколькими способами, где ваша конечная цель — переписать историю совершения и оставить только один коммит вместо нескольких бессмысленных. Вы можете выбирать историю сообщений Commit или переписать это, так же, как и другая возможность сообщить изменения, которые вы представляете.

Git Log — раньше

Лучший способ понять гидрокварку — смотреть на журнал Git. В этом примере у меня есть филиал особенности, которая имеет три коммита.

* 510b129 (HEAD -> docker-rmi) missing flag
* cd62deb typo #2
* dba34d5 typo
* 46e95a5 Listing local docker images
* e30e77d (master) Starting the build process
* 9409666 Adding the build script

GIT журнал после

После выполнения «сквоша» журнал GIT выглядит так:

* 617c65c (HEAD -> docker-rmi) Listing all the local docker images
* 46e95a5 Listing local docker images
* e30e77d (master) Starting the build process
* 9409666 Adding the build script

Как мы вернулись вовремя!

Вместо того, что вместо всех «Typo» Commit Commit сообщений и отсутствует флаг, у нас теперь есть только одно сообщение, которое включает в себя все изменения, которые мы сделали.

Есть несколько способов Squash Commits, и я покажу вам два, которые охватывают различные случаи использования. В StackoverFlow есть прекрасная нить, если вы хотите увидеть больше методов.

Сквош на той же ветке

Когда вы хотите изменить историю филиала, раздавливая несколько коммуникаций, Git Сброс --soft Команда может пригодиться.

Предупреждение — Убедитесь, что у вас не было незаменимых изменений. Либо совершайте, либо раскрывайте их перед выполнением команды сброса.

Если вы хотите выкрутить свои последние три коммита, запустите команду:

git reset --soft HEAD~3 && git commit

Также, если вы хотите, чтобы сквош на конкретный коммит:

git reset --soft 46e95a5 && git commit

Чтобы подтолкнуть ваши изменения, вы должны использовать флаг —Фос, так как вы изменили историю филиала.

git push --force

Опять же, для получения дополнительной информации, см. Ссылку выше в резьбу стоковой двери.

Сквош на слиянии

Если вы являетесь уверенным лицом и просто хотите сохранить ветку (или любой другой) филиал чистый, вы можете использовать Git Merge --squash команда. Большая часть запроса на потяжке UIS позволяет вам также слиять сквошу.

git checkout master
git merge --squash featurebranch

По умолчанию Commit включает в себя все оригинальные сообщения, но вы можете переписать его также. Ваша оригинальная ветка держит первоначальную историю, чтобы вы могли его ссылаться.

Сделайте это сейчас

Как и все GIT, зная о способе, добавляет другой инструмент в ваш ремень. Но опять же, всегда есть этот «страх» запущенных команд в первый раз на существующей кодовой базе. Так что идите вперед и создайте чистый Git Reppo и попробуйте эти методы в безопасной среде. Ваша рука будет меньше шансов, когда вы увидите, как он работает самостоятельно.

Хотите узнать больше? Перейти к моей странице регистрации и никогда не пропустите пост

Оригинал: «https://dev.to/yuvalo/hide-your-shameful-commits-with-git-squash-1c7l»