20 лучших команд GIT для начала
Опубликовано: 2020-06-10Как вы, возможно, знаете, GIT — это распределенная система управления версиями. Инженеры используют его для отслеживания изменений, внесенных в исходный код в процессе разработки программного обеспечения. Если вы разработчик, особенно если вы только начинаете заниматься своей профессией, вы должны изучить несколько наиболее полезных команд GIT.
Давайте рассмотрим лучшие команды GIT bash, о которых вам стоит узнать.
- Для настройки проекта: объяснение подсказок GIT
- GIT-ИНИТ
- КОНФИГУРАЦИЯ
- КЛОН
- Псевдоним
- Команды для внесения и отмены изменений
- ПОЛОЖЕНИЕ ДЕЛ
- ДОБАВЛЯТЬ
- СОВЕРШИТЬ
- ПЕРЕЗАГРУЗИТЬ
- ТАЙН
- ВОЗВРАЩАТЬСЯ
- Команды Git для совместной работы
- ВЕТВЬ
- Проверка
- ТЯНУТЬ
- СОВЕРШИТЬ
- ТОЛКАТЬ
- ОБЪЕДИНИТЬ
- REBASE
- После совершения команд
- БРЕВНО
- ПОКАЗЫВАТЬ
Для настройки проекта: объяснение подсказок GIT
Рекомендуемые для вас: 5 великолепных бесплатных приложений, которые помогут вам научиться программировать.
GIT-ИНИТ
Допустим, вы только что создали проект в своей любимой среде IDE, и вам нужно знать о подсказках PowerShell GIT. Вам нужно будет настроить работоспособный репозиторий GIT.
При этом вы должны указать GIT, какой каталог следует использовать и запускать. Функция git init - это то, как вы это сделаете. GIT создаст скрытый. git и использовать его для организации своих файлов как других подкаталогов.
Вот список команд git init для следующих популярных редакторов:
Атом | git config –global core.editor «атом – ожидание» |
---|---|
BBEdit (Mac, с инструментами командной строки) | git config –global core.editor «bbedit -w» |
Гедит (Линукс) | git config –global core.editor «gedit –wait –new-window» |
Блокнот (64-разрядная версия Windows) | Блокнот git config core.editor |
Блокнот++ (64-разрядная версия Windows) | git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin" (также см. примечание ниже) |
Скретч (Линукс) | git config –global core.editor «текстовый редактор» |
Возвышенный текст (macOS) | git config –global core.editor «/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl –new-window –wait» |
Sublime Text (64-разрядная версия Windows) | git config –global core.editor «'C:\Program Files\Sublime Text 3\sublime_text.exe' -w» (также см. примечание ниже) |
Вим | git config –global core.editor «vim» |
Код Visual Studio | git config –global core.editor «код – ожидание» |
КОНФИГУРАЦИЯ
После того, как вы создали свой репозиторий, возможно, вы могли бы настроить в нем некоторые важные элементы, например, настроить свое имя пользователя. Вот почему вам понадобится команда CONFIG. Любая команда списка GIT будет включать это.
Вы можете настроить свое имя пользователя, выполнив:
git config user.name=<replace_with_your_username>.
Это поместит имя пользователя в ближайший репозиторий. Однако обратите внимание, что впоследствии, если вы захотите создать второй репозиторий, вам придется настроить информацию о пользователе еще раз.
Вам не нужно делать это, если вы добавляете параметр глобальной команды. Он глобально установит вашу информацию:
git config --global user.name=<replace_with_your_username>.
Вы также можете использовать команду CONFIG для настройки других аспектов. Вы можете поместить команду в файл конфигурации.
КЛОН
Чтобы получить удаленный репозиторий на своем компьютере, вы должны настроить команду CLONE. Вы делаете это с помощью настройки клонирования git и передачи URL-адреса в качестве параметра. Эта команда должна клонировать весь удаленный репозиторий на вашем компьютере. Это еще одна из команд центра GIT, которая будет полезна вам как разработчику.
$ git clone git://git.kernel.org/pub/scm/git/git.git
Псевдоним
С помощью команды ALIAS вы можете создавать ярлыки для ваших любимых команд. Это инструмент, который помогает вам обернуть последовательность команд и сохранить их под именем. Это считается одной из распространенных команд GIT, которую вы часто будете использовать в качестве разработчика.
Вы также можете добавить псевдонимы прямо в файл конфигурации. В этом случае директива в примере будет преобразована в следующую конфигурацию в файле глобальной конфигурации. Например, вы можете настроить следующие сочетания клавиш для наиболее распространенных команд:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
Команды для внесения и отмены изменений
ПОЛОЖЕНИЕ ДЕЛ
Это команда, которую вы должны использовать, если хотите отобразить состояние промежуточной области и вашей рабочей конфигурации. Используя его, вы можете посмотреть, какие изменения были поставлены, а какие нет.
ДОБАВЛЯТЬ
Прежде чем вы зафиксируете измененный или новый файл, он должен быть добавлен в вашу промежуточную область. Сделайте это, запустив директиву git add . Вы должны передать имя файла и каталога в качестве параметра. Вы можете ввести f_your_file>. В этот момент ваш файл будет удален из списка «изменения, которые нужно зафиксировать».
Добавление -p (или -patch) позволяет вам выбирать части каждого отслеживаемого файла для фиксации. Тогда каждый коммит содержит только связанные изменения.
СОВЕРШИТЬ
Допустим, вы завершили реализацию какой-то функции и хотите сохранить изменения. Посмотрите на список «изменения, которые нужно зафиксировать». Как только это будет сделано, вы узнаете, что все необходимые файлы подготовлены. Вот когда вы можете выполнить git commit .
После выполнения этой команды откроется редактор по умолчанию. Затем вы должны ввести сообщение COMMIT.
Если ваше сообщение короткое, включите его в команду GIT COMMIT следующим образом:
git commit -m “Your_first_commit_message.”
Вы также можете добавить опцию -a. Таким образом, вы можете быть уверены, что GIT просмотрит ваше рабочее дерево. Затем он выполнит GIT ADD для новых и измененных файлов, а также git rm для любых удаленных файлов до фиксации.
Возможно, вы забыли добавить файл в свой коммит. Вы не хотите создавать другую команду фиксации для этого файла. Вместо этого вы можете использовать опцию исправления.
Публичные коммиты никогда не должны изменяться. Помните, что ваши коллеги могли основывать свою работу на этом коммите. Вы не хотите запутать их из-за каких-либо изменений, которые они сделали.
ПЕРЕЗАГРУЗИТЬ
git reset — еще один инструмент, который должен вам пригодиться, когда вы начинаете свою трудовую деятельность в качестве разработчика. Это команда, которая поможет вам переформатировать изменения. Есть несколько способов его использования, но общий пример — это когда вы предоставляете режим и идентификацию фиксации, как если бы были аргументы, например:
git reset <mode> <commit>.
Есть несколько возможностей сброса. Чтобы понять их, вы должны знать о трех деревьях GIT.
- Смешанный — это вызов по умолчанию с GIT RESET. Он использует смешанный вариант, а также HEAD в качестве идентификатора фиксации. Он сбрасывает указатели ref и перемещает любые изменения из промежуточного индекса в рабочую область. Затем промежуточная область соответствует состоянию, в котором происходит указанная фиксация.
- Жесткий: Жесткий вариант сбрасывает указатели ref и настраивает промежуточный индекс. Он также изменяет рабочий каталог в соответствии с состоянием конкретной фиксации. По сути, он сбрасывает все аспекты. Прежде чем выполнять полный сброс, узнайте, какие массовые изменения вы собираетесь внести.
- Мягкий: есть также мягкий вариант, который не затрагивает промежуточный индекс или ваш рабочий каталог. Указатели ref — это все, что обновляется.
ТАЙН
Допустим, вы какое-то время работали над определенной функциональной областью. Вы видите, что есть ошибка, которую нужно исправить прямо сейчас. Но ваши реализации функций все еще находятся в процессе, и вы не хотите вносить какие-либо незавершенные изменения веток. Вам понадобится ваша команда git stash .
Этот метод позволяет сохранить ваши изменения в стеке STASH. После этого вы можете составить их список вместе со списком git stash.
Нет никаких ограничений для ветки, на которую вы можете применить свой тайник. Вы можете спрятать изменения в одной ветке и применить их к другой, когда захотите.
Чтобы применить сохраненные изменения, используйте директиву git stash apply. Он применяет самые последние изменения, хранящиеся в стеке. Если вы хотите применить старые изменения, вы можете указать имя, например, git stash apply [email protected]{1}. Это относится к другому тайнику в стеке.
Как только вы примените тайник с помощью директивы применения, он не будет удален из этого стека. Вы можете рассматривать это как команду потока GIT, которую вы будете часто использовать.
Вам может понравиться: Каковы тенденции разработки мобильных приложений в 2020 году?
ВОЗВРАЩАТЬСЯ
Возможно, вы сочли целесообразным отправить ваши завершенные изменения в исходную ветку и заметили, что один из ваших коммитов не должен быть там. Исправьте это, добавив еще одну директиву, которая избавит от предыдущей. В этом вам поможет директива REVERT. Вы должны указать свой идентификатор коммита и отменить его в качестве параметра: git revert <commit_id> .
Команда выведет полезную информацию, включая название ветки, количество коммитов, которые были сделаны после или до того, как она стала удаленной. Кроме того, вы можете видеть новые и измененные файлы в виде нескольких списков:
- Изменения, которые нужно зафиксировать.
- Изменения, не настроенные для обязательства.
- Неотслеживаемые файлы.
Команды Git для совместной работы
ВЕТВЬ
С директивами ветвей git ваша система будет использовать список ветвей. Если вы хотите посмотреть на удаленные ветки, то вы можете это сделать с помощью git branch -r. Если вы хотите видеть локальные и удаленные ветки, используйте git branch -a.
Вы можете удалить ветку, используя: git branch -d <branch_name>.
Проверка
Это еще одна регулярно используемая директива GIT. Для работы в ветке необходимо выполнить переключатель. git checkout — это то, как легко переключаться с ветки на другую. Вы можете использовать его для просмотра файлов, а также коммитов. Git checkout <name-of-your-branch> — это то, как это выполняется.
Помните следующее, если вы хотите успешно переключаться между ветвями:
Изменения в текущей ветке могут быть зафиксированы или сохранены при переключении
Любая ветка, которую вы проверяете, должна существовать в вашем локальном
Также есть команда быстрого доступа, которая позволяет вам создать ветку и переключиться на нее за один раз:
git checkout -b <name-of-your-branch>.
Это команда, которая создает другую директиву в вашем локальном каталоге (-b означает ветку). Он просматривает последнюю ветку сразу после ее создания.
ТЯНУТЬ
С помощью директивы git pull вы выполняете загрузку свежих данных через удаленный репозиторий и интеграцию с ближайшим. Когда вы запускаете эту команду, вы обновляете локальные ветки вместе с любыми изменениями с вашего удаленного терминала.
Также есть способ по умолчанию интегрировать новые изменения. Используйте слияние. Вы можете изменить его на rebase, если используете опцию: git pull –rebase .
Рекомендуется всегда помещать изменения в ближайший чистый репозиторий без незафиксированных изменений.
СОВЕРШИТЬ
Это директива, которая может «сделать снимок» или записать файл в историю версий. Вы вводите git commit -m «[Введите сообщение фиксации]», тем самым используя его.
Это команда, которая фиксирует любые файлы, которые вы добавили, вместе с командой GIT ADD. Он также эффективно фиксирует файлы, которые изменились с тех пор.
ТОЛКАТЬ
После того, как вы зафиксировали какие-либо изменения, возможно, вы захотите отправить их в удаленный репозиторий. Таким образом, они доступны для ваших товарищей по команде.
Если вы запустите GIT PUSH, это «отправит» последние изменения текущей области на удаленную. Если через локальное создание ветки вы отправляете всю ветку в удаленный репозиторий, это нормально. Это позволяет сделать эта директива: git push -u origin <replace_with_branch_name> .
Вот как вы отправляете ветку с указанным именем в исходный репозиторий. Удаленная ветвь должна использовать то же имя, что и локальная.
ОБЪЕДИНИТЬ
Нам также пришлось добавить MERGE в этот список подсказок GIT. В какой-то момент вы захотите интегрировать ветку функций или исправить какие-либо ошибки в другой ветке. Слияние вашей ветки позволяет вам сделать это. Запуск команды git merge — это то, что вам нужно сделать.
После запуска команды могут произойти две разновидности слияния: трехстороннее слияние или ускоренная перемотка вперед.
Ускоренное слияние используется, когда есть линейный путь между ветвями, которые вы хотите объединить. Допустим, вы создали ветку исправления от мастера. Вы устранили проблему и хотите объединить ее с мастером. Однако обновление ветки никто не делал. GIT может сам объединить ветку, что решит проблему.
Трехстороннее слияние происходит, когда нет линейного пути между ветвями. Как и в последнем примере, вы разработали ветку исправления ошибок из основной версии. Вы исправили ошибку, и теперь вам нужно слить ее с помощью git merge <branch> .
Возможно, вы обнаружите, что кто-то обновил мастер. Чтобы соединить ветки, GIT должен создать новый коммит, в котором будут объединены изменения.
Вот тогда и возникает проблема. Обе ветки изменили идентичный кодовый блок. GIT не может объединить изменения без вашей помощи. Принятие одного изменения — самый простой способ сделать это.
Однако вы также можете комбинировать изменения. Когда это происходит, GIT изменяет затронутые файлы с помощью некоторых визуальных индикаторов. Это позволяет легко находить проблемы. Используются некоторые визуальные маркеры:
<<<<<< — shows the place the conflict began ====== — separates changes from different branches >>>>>> — shows where the conflict ends
Как только вы разрешите конфликты и избавитесь от маркеров, конфликтующие области будут добавлены в вашу промежуточную область с помощью git add .
Если была допущена ошибка или вы хотите пойти другим путем, запустите git merge –abort. При этом ваша ветка не будет изменена.
Если нет, то используйте команды git commit. Это завершит слияние, создав новый коммит.
Еще одна полезная команда — команда git mergetool , которая просто запускает внешний помощник по слиянию на случай, если у вас возникнут проблемы со слиянием в Git.
Вам также может понравиться: Лучший язык программирования для разработки приложений iOS.
REBASE
Сначала интегрируйте изменения с помощью REBASE, а затем объедините их. С помощью REBASE вы переписываете предысторию программы. Публичные коммиты никогда не должны перебазироваться, так как, например, член команды может основывать на них свою работу.
Вместо того, чтобы объединять определенную ветку со своей собственной, вы можете перебазировать свою ветку на конкретную. Но что делает этот протокол перебазирования, который вы используете?
Что произойдет, так это то, что изменения получат интеграцию из одной конкретной ветки в другую. База второй ветки будет изменена с одного коммита на другой. Будет казаться, что вторая ветка была создана из первой. Это дает вам четкую, линейную историю.
Git rebase <name_of_branch_to_rebase_on> — это способ выполнения команды.
Это первый или стандартный режим команды rebase. Затем есть второй режим, также называемый интерактивным режимом. Вы можете использовать его, чтобы легко изменить последовательность коммитов, прежде чем включать их в другую ветку, также известную как удаленная.
После совершения команд
БРЕВНО
Эта директива предназначена для просмотра истории версий текущей ветки. Чтобы выполнить его, введите git log –follow[file] .
Эта директива отображает историю версий файла. Переименование файлов будет включено. git log печатает историю коммитов.
В этом сценарии можно использовать несколько вариантов. Один из них — git log —stat. Для каждого коммита в истории будет напечатан список имен. Файлы, которые были удалены, изменены или добавлены, будут доступны. Суммы строк, которые были удалены или добавлены, можно увидеть. Вы заметите, что есть также сводка, которую вы можете просмотреть.
ПОКАЗЫВАТЬ
Приглашение «Показать», которое используют разработчики, может отображать сведения о различных объектах. Когда мы говорим «объекты», мы имеем в виду коммиты или теги. git show можно использовать для отображения более старой версии файла. Например, вы можете использовать эту команду, чтобы показать версию файла, сделанную двумя фиксациями назад.
Надеемся, что это руководство по командам GIT помогло послужить введением в этот инструмент. Как разработчик, чем больше вы узнаете о GIT, тем лучше вы будете наняты командой, которая ищет надежного программиста.
По мере того, как вы становитесь более продвинутыми в этой области, вы узнаете больше подсказок GIT, и ваше программирование станет намного более плавным. Вы сможете написать полезный код, который могут добавить ваши товарищи по команде.
Эта статья написана Славой Ванюковым. Он является соучредителем и генеральным директором Softermii, агентства по разработке программного обеспечения и приложений. Он имеет более чем 9-летний опыт работы в индустрии веб-разработки и мобильной разработки. Кроме того, он является одним из авторов блога Softermii и техническим блоггером, представленным на множестве других веб-ресурсов. Вы можете следить за ним в LinkedIn.