В третий и последний взгляд на систему управления источником 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.
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров