Современные системы управления версиями Git С, Часть 3

В третий и последний взгляд на систему управления источником Git, я представлю некоторые более сложные понятия и показать вам некоторые уловки, используемые опытными Git users.

Как и большинство вещей, а также тех, кто работал с Git на некоторое время не знает, существует более чем один способ кожи кошки.Многие задачи могут быть выполнены с несколько основных команд.Тем не менее, несколько передовых концепций и трюки иногда помочь вам достичь ваших целей более elegantly.

Расширенный Concepts

Stash: Clipboard

“Притон” является одним из таких функций.В некоторых ситуациях, “чистый” рабочий каталог рекомендуется (или даже необходимо).. Это означает, что не должно быть никаких локальных изменений (например, при переключении текущего филиал)

Представьте себе следующий сценарий.Вы работали над новой функцией в течение нескольких часов, как вдруг критическая сообщение об ошибке приходит дюйма Конечно, вы уже изменили несколько файлов.Но теперь вы должны перейти филиалы, чтобы иметь возможность работать на ваш текущий код производстве.Вы можете просто зафиксировать изменения, — но они только половина дела (и совершение вещи, которые только половина дела плохая карма!)

.

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

Постановка части Files

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

Git поможет вам сделать это, позволяя добавлять части измененного файла во временную область.Если вы выполняете git add с -p параметр, Git позволяет выбрать для каждой части файла, хотите ли вы устроить это или нет.Таким образом, вы можете управлять очень точно, какие изменения должны войти в ваш следующий совершают — и которое должно оставаться на более поздний commit.

Отслеживание Branches

Если вы уже посмотрела на файл конфигурации одного из ваших локальных репозиториев Git ( .git/config), вы, возможно, заметили одну из следующих разделов:

Git сохраняет некоторую мета-данные об отношениях между двумя ветвями, в этом случае, наш местный «мастер» филиала композиций одноименного филиала на пульте Этот мета-данных используется пара команд в Git, “происхождение”.такие как push, pull и status.

В целом, однако, вам не придется беспокоиться об управлении всей этой мета-данных.Если вы создаете новое местное отделение основе удаленного филиала, Git будет создана отслеживания отношения к you.

Отмена Things

Самое ошибки, которые вы делаете в Git может быть исправлено довольноeasily.

Давайте возьмем простой случай.Вы опечатку вашего последнего коммита, а теперь хотите, чтобы исправить это опечатка.Git предлагает --amend Параметр для commit команды.Это приведет к перезаписи последней фиксации и заставить это выглядеть, как будто ваша маленькая ошибка не произошло.Поправки также позволяет изменять набор совершенных файлов, добавление и удаление элементов от и до фиксации.Но помните одно золотое правило: не совершает изменения, которые вы уже толкнул к удаленному

!

revert команда позволяет “взять назад” совершают (и на этот раз это не должно быть вашей последней фиксации).Возвращаясь, однако, не будет удалять любые совершает.Совсем наоборот: новая фиксация будет создан, который меняет эффекты соответствующие commit.

reset команда полезна, если вы действительно сожалеть о своей последней фиксации (ы).Он использует тот факт, что ветви действительно не более чем указатели на определенную фиксацию.Эта команда убирает указатель мыши вернуться к старой фиксации.В самом деле, reset даже не будет удалять любые совершает, но история вашего проекта, как будет выглядеть это было сделано именно that.

Интеграция Выбранный Commits

Как правило, вы бы интегрировать изменения в филиал путем слияния с другой.В тех редких случаях, когда слияние является нежелательным, Git предлагает альтернативу с cherry-pick команды.Вместо интеграции полный филиала (при слиянии), cherry-pick позволяет интегрировать любую фиксацию.Вы даже можете объединить несколько выбранных совершает за один раз — но помните, чтобы начать с самого старого, чтобы избежать problems.

GUI приложений, таких как Tower сделать такие задачи, как это намного проще, позволяя вам просто перетащите желаемый commits.

Rebase вместо того, чтобы Merge

Наиболее распространенный способ интегрировать одной отрасли в другую, чтобы выполнить «слияние». Для обычного трехсторонним слиянием, Git имеет концы ветвей, которые будут объединены и общим родителем совершают в качестве основы для интеграции.Это приводит к так называемому “слить совершению”, которая соединяет обе ветви, как knot.

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.