Как я стараюсь не фиксировать небольшие изменения в мерзавце?

Я задаюсь вопросом, как я мог избежать фиксации в действительно небольших изменениях кода. Например, иногда я пропускаю пространство между параметрами или таким крошечным форматированием кода. Причина я спрашиваю это, состоит в том, потому что позже я должен продвинуть свои фиксации в удаленный репозиторий, и я не хочу включать те небольшие изменения.

Какие-либо идеи?Спасибо

12
задан meagar 17 September 2010 в 15:57
поделиться

3 ответа

Обновление: Как отмечали другие, не делайте никаких перебазировок или переписывания истории любого рода, если вы переместили код на удаленный источник и поделились им с другими разработчиками. Короткий ответ: Это опасно и рискованно!

Я бы порекомендовал проверить команду rebase для этого. Она делает именно то, о чём вы просите

Что она делает, так это берёт меньшие коммиты и объединяет их в большие

Чтобы использовать её:

git rebase -i HEAD~5

В вашем редакторе появятся последние 5 коммитов от главы текущей ветки с некоторой документацией. В вашем случае вы захотите использовать squash. На сайте, на который я ссылался, это очень хорошо объясняется, там есть такой пример:

pick 01d1124 Adding license
squash 6340aaa Moving license into its own file
squash ebfd367 Jekyll has become self-aware.
squash 30e0ccb Changed the tagline in the binary, too.

Это упакует 3 предыдущих коммита и поместит их все под тот, который вы отметили как pick. Затем вы можете изменить сообщение о коммите и т.д.

Веселитесь

21
ответ дан 2 December 2019 в 03:43
поделиться

Один из лучших способов решить эту проблему - использовать git difftool для запуска визуального инструмента, такого как xdiff или winmerge, для каждого измененного файла перед фиксацией. Это позволяет легко отменить незначительные изменения и выявить существенные изменения, которые вы забыли о внесении и не готовы. Таким образом я ловлю изрядное количество ошибок. Например, отсутствующий или лишний тег html может быть трудно обнаружить, когда вы смотрите на код, но его легко обнаружить, когда вы делаете различие.

3
ответ дан 2 December 2019 в 03:43
поделиться

Единственный способ внести изменения - это зафиксировать. Однако вы можете изменить предыдущую фиксацию , чтобы включить новое изменение, если хотите. Это может быть лучшим решением, если вы еще не отправили предыдущую фиксацию в удаленный репозиторий.

Хорошая информация об изменении коммитов git содержится в руководстве пользователя Git и в сообщении блога .

16
ответ дан 2 December 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: