Git через консоль windows

Обновлено: 07.07.2024

Шпаргалка по консольным командам Git

Git — система контроля версий (файлов). Что-то вроде возможности сохраняться в компьютерных играх (в Git эквивалент игрового сохранения — коммит). Важно: добавление файлов к «сохранению» двухступенчатое: сначала добавляем файл в индекс ( git add ), потом «сохраняем» ( git commit ).

Любой файл в директории существующего репозитория может находиться или не находиться под версионным контролем (отслеживаемые и неотслеживаемые).

Отслеживаемые файлы могут быть в 3-х состояниях: неизменённые, изменённые, проиндексированные (готовые к коммиту).

Ключ к пониманию

Ключ к пониманию концепции git — знание о «трех деревьях»:

  • Рабочая директория — файловая система проекта (те файлы, с которыми вы работаете).
  • Индекс — список отслеживаемых git-ом файлов и директорий, промежуточное хранилище изменений (редактирование, удаление отслеживаемых файлов).
  • Директория .git/ — все данные контроля версий этого проекта (вся история разработки: коммиты, ветки, теги и пр.).

Коммит — «сохранение» (хранит набор изменений, сделанный в рабочей директории с момента предыдущего коммита). Коммит неизменен, его нельзя отредактировать.

У всех коммитов (кроме самого первого) есть один или более родительских коммитов, поскольку коммиты хранят изменения от предыдущих состояний.

Простейший цикл работ

  • Редактирование, добавление, удаление файлов (собственно, работа).
  • Индексация/добавление файлов в индекс (указание для git какие изменения нужно будет закоммитить).
  • Коммит (фиксация изменений).
  • Возврат к шагу 1 или отход ко сну.
  • HEAD — указатель на текущий коммит или на текущую ветку (то есть, в любом случае, на коммит). Указывает на родителя коммита, который будет создан следующим.
  • ORIG_HEAD — указатель на коммит, с которого вы только что переместили HEAD (командой git reset . , например).
  • Ветка ( master , develop etc.) — указатель на коммит. При добавлении коммита, указатель ветки перемещается с родительского коммита на новый.
  • Теги — простые указатели на коммиты. Не перемещаются.

Перед началом работы нужно выполнить некоторые настройки:

Если вы в Windows:

Указание неотслеживаемых файлов

Файлы и директории, которые не нужно включать в репозиторий, указываются в файле .gitignore . Обычно это устанавливаемые зависимости ( node_modules/ , bower_components/ ), готовая сборка build/ или dist/ и подобные, создаваемые при установке или запуске. Каждый файл или директория указываются с новой строки, возможно использование шаблонов.

Длинный вывод в консоли: Vim

Вызов некоторых консольных команд приводит к необходимости очень длинного вывода в консоль (пример: вывод истории всех изменений в файле командой git log -p fileName.txt ). При этом прямо в консоли запускается редактор Vim. Он работает в нескольких режимах, из которых Вас заинтересуют режим вставки (редактирование текста) и нормальный (командный) режим. Чтобы попасть из Vim обратно в консоль, нужно в командном режиме ввести :q . Переход в командный режим из любого другого: Esc .

Если нужно что-то написать, нажмите i — это переход в режим вставки текста. Если нужно сохранить изменения, перейдите в командный режим и наберите :w .

Итак, вы получили задание: сделать форк вашего репозитория в GitHub, создать ветку и начать работу. Что за GitHub, какие команды, зачем, а главное, как всем этим пользоваться? Давайте разбираться.

Система контроля версий Git

Для начала определим, что такое система контроля версий.

Так называют программу, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.

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

Одна из самых популярных систем называется Git. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.

В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.

Git — важный навык веб-разработчика

А лучший способ научиться программировать — профессия «React-разработчик». В программе три интенсива, прокачка навыков и оплачиваемая стажировка.

Устанавливаем Git

Если раньше вы не работали с Git, сперва его нужно установить. Способы зависят от операционной системы вашего компьютера.

Установка в Windows

Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.

Установка на macOS

Установка в Linux

Используйте обычный менеджер пакетов вашего дистрибутива. Откройте терминал и введите подходящие команды.

  • Если у вас 21 или более ранняя версия Fedora, используйте yum install git .
  • Для 22 и последующих версий Fedora вводите dnf install git .
  • Для дистрибутивов, основанных на Debian, например, Ubuntu, используйте apt-get: sudo apt-get install git .

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

Проверим, что Git установлен

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

Настройка Git

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

Откройте терминал и используйте следующую команду, чтобы добавить своё имя: git config --global user.name "ваше имя"

Для добавления почтового адреса вводите: git config --global user.email адрес

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

Что такое GitHub?

GitHub — веб-сервис, который основан на системе Git. Это такая социальная сеть для разработчиков, которая помогает удобно вести коллективную разработку IT-проектов. Здесь можно публиковать и редактировать свой код, комментировать чужие наработки, следить за новостями других пользователей. Именно в GitHub работаем мы, команда Академии, и студенты интенсивов.

Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали. За дело.

  1. Переходим на сайт GitHub. Cтартовая страница GitHub.
  2. Для начала регистрации:
    • Нажимаем кнопку Sign up (зарегистрироваться), попадаем на страницу регистрации, где вводим обязательные данные: имя пользователя, адрес электронной почты и пароль. После заполнения полей проходим верификацию. Первый шаг регистрации профиля на стартовой странице GitHub.
    • После заполнения данных и успешного прохождения верификации нажимаем на кнопку Select a plan. Второй шаг регистрации профиля на стартовой странице GitHub.
  3. Третий шаг — небольшой опрос от GitHub, который вы можете пройти, заполнив все поля и нажать Submit или пропустить, нажав skip this step. Опрос на третьем шаге регистрации.
  4. После прохождения всех этапов на сайте, на указанный при регистрации ящик вам придёт письмо от GitHub. Откройте его и подтвердите свой почтовый адрес, нажав Verify email address (подтвердить электронный адрес) или скопируйте вспомогательную ссылку из письма и вставьте её в адресную строку браузера. Подтверждение электронного адреса.
  5. После верификации GitHub предложит создать новый репозиторий, организацию или узнать больше о GitHub. Этот пункт пока можно пропустить и перейти в профиль. Переход в ваш профиль. Так выглядит ваш профиль после регистрации.

Теперь у вас есть профиль на GitHub.

Устанавливаем SSH-ключи

Git установлен, профиль на GitHub создан. Осталось добавить SSH-ключ и можно приступать к работе с проектом.

Что такое SSH-ключ и зачем он нужен?

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

Каждый SSH-ключ содержит пару: открытый (публичный) и закрытый (приватный) ключ. Открытый ключ отправляется на сервер, его можно не прятать от всех и не переживать, что кто-то его увидит и украдёт. Он бесполезен без своей пары — закрытого ключа. А вот закрытый ключ — секретная часть. Доступ к нему должен быть только у вас.

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

Чтобы пройти авторизацию по SSH-ключу, его надо сгенерировать или найти уже ранее созданный ключ на своём компьютере.

Сначала проверим, есть ли уже на компьютере ключ. По умолчанию SSH-ключи хранятся в каталоге

/.ssh , поэтому нужно проверить содержимое этого каталога.

  1. Открываем консоль.
  2. Вводим cd

  • Открываем консоль и вводим команду: Указываем тот адрес электронной почты, который вводили при регистрации на GitHub. Генерируем ключ.
  • Далее нужно указать расположение файла для сохранения ключа. Если вы не введёте путь до файла и просто нажмёте Enter, ключ сохранится в файле, указанном в скобках.
  • Теперь нужно установить пароль к вашему ключу и дважды ввести его. Если вы не хотите вводить пароль каждый раз, когда используете ключ, пропустите этот шаг, нажав «Enter», и ничего не вводите. Указываем расположение ключа и вводим пароль.

    Если вы захотите переименовать ключ, могут возникнуть проблемы. Их можно решить, добавив в

В Сmder для запуска ssh-agent можно использовать команду start-ssh-agent .

Если проблема осталась, рекомендуем работать в Git Bash.

/.ssh/config файл, чтобы автоматически загрузить ключи в ssh-agent и хранить пароли.

Вы можете добавить свой приватный ключ в ssh-agent и сохранить пароль к нему с помощью команды ssh-add -K

/.ssh/id_rsa . Если у вашего ключа другое имя, не забудьте заменить id_rsa в команде на правильное название.

/.ssh права доступа командой chmod 700

Можно пойти другим путём, открыть файл id_rsa.pub прямо в папке и просто скопировать содержимое оттуда.

Нажимаем кнопку New SSH key (новый SSH-ключ). Вводим имя ключа (можно придумать абсолютно любое) в поле Title (название), а в Key (ключ) вставляем сам ключ из буфера обмена. Теперь нажимаем Add SSH key (добавить SSH-ключ).

Добавляем в свой профиль SSH-ключ

Добавляем в свой профиль SSH-ключ.

Если всё сделано верно, в списке появится новый ключ.

Теперь, наконец-то, мы можем начать работу с самим проектом.

Работа с репозиториями

Для начала определим, что такое репозиторий

Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.

Если над проектом трудится команда разработчиков, как правило, создаётся общий репозиторий, в котором находится рабочая версия проекта (назовём его мастер-репозиторий). При этом каждый пользователь клонирует себе в профиль оригинальный репозиторий и работает именно с копией. Такая копия называется форком. Так как форк — ваша персональная версия мастер-репозитория, в нём вы можете пробовать разные решения, менять код и не бояться что-то сломать в основной версии проекта.

Как сделать форк мастер-репозитория?

Заходим в нужный репозиторий, нажимаем на «вилку» с надписью fork. Форк репозитория создан и находится в вашем профиле на GitHub.

Теперь нужно склонировать форк себе на компьютер, чтобы вести работу с кодом локально. Тут нам и пригодится SSH.

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

Если вы правильно настроили SSH-ключи, Git начнёт процесс копирования репозитория на ваш компьютер. Если вы видите ошибку, в которой написано Error: Permission denied (publickey) , скорее всего, вы ошиблись где-то при выполнении инструкции по настройке SSH-ключа. Вернитесь на несколько абзацев ранее и попробуйте повторить процесс настройки.

Если вы не хотите вручную вводить адрес репозитория, вы можете зайти на страницу проекта, нажать зелёную кнопку Clone or download (клонировать или скачать), выбрать Clone with SSH (клонировать по SSH) и скопировать адрес, который находится в текстовом поле. Этот адрес вы можете вставить в команду git clone .

Кстати, если вы хотите, чтобы название папки с проектом у вас на компьютере отличалось от имени репозитория, можете дополнить команду клонирования, добавив в конце другое название:

Теперь, на вашем компьютере, в папке your_project или в той, название которой вы указали самостоятельно, находится полная копия репозитория c GitHub.

Чтобы начать работу с проектом, надо оказаться в его директории. Для этого используем команду cd , после которой указываем название проекта на вашем компьютере: cd your-project

 Копия репозитория

Сделали копию репозитория.

Создадим новую ветку. Открываем терминал, вводим команду git branch . Она показывает список веток, с которыми мы работаем в проекте, и выделяет текущую. Если мы находимся в master создаём новую ветку: git checkout -b имя-новой-ветки .

 Новая ветка

Новая ветка.

Если текущая ветка не master , сначала переключимся в основную ветку: git checkout master . Мы делаем это, чтобы новая ветка содержала свежую, на момент создания, рабочую версию проекта.

Эта команда позволяет переключаться между существующими ветками в проекте, после git checkout надо указать название нужной ветки.

 Переключаемся между ветками

Переключаемся между ветками.

Если вы ошиблись в названии, например, допустили опечатку, вы можете изменить название ветки с помощью команды: git branch -m старое-имя-ветки новое-имя-ветки .

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

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

 Состояние ветки

Состояние ветки.

Перед тем, как зафиксировать изменения отдельных файлов, нужно добавить файлы в набор этих изменений. Воспользуйтесь командой git add имя-файла . Если название очень длинное, вы можете начать его писать, затем нажать Tab и консоль сама предложит вам продолжение пути к файлу.

Если вы хотите сохранить все изменения разом, вводите git add -A .

Делаем коммит

Делаем коммит.

Сохранения зафиксированы, всё? Они теперь в репозитории и видны коллегам? Пока нет. Те изменения, которые мы внесли и сохранили, пока локальны. Их нужно послать на GitHub.

 Отправляем изменения

Отправляем изменения.

Теперь заходим на страницу нашего форка и создаём пулреквест, чтобы слить свой код с данными в мастер-репозитории. Что такое пулреквест? Это предложение изменить код в репозитории.

Любое предложение можно принять или отвергнуть. Так же и с пулреквестом. После его создания, он должен получить ревью и одобрение так называемого коллаборатора — пользователя GitHub, который имеет права администратора в мастер-репозитории. Им может быть ваш коллега-разработчик, техлид, наставник. Если к вашему коду нет вопросов, пулреквест принимается и изменения из вашей ветки попадают в master главного репозитория. Если в код нужно внести изменения, пулреквест отклоняется, и вам нужно снова пройти по цепочке локальные изменения — сохранение — коммит — пуш, только пулреквест заново делать не нужно. Если вы продолжаете вести работу в той же ветке и пулреквест ещё не принят, все ваши изменения автоматически добавятся в пулреквест, созданный из этой ветки после команды git push origin название-текущей-ветки .

Вы исправили код, наставник или техлид одобрил ваши правки и принял пулреквест. Теперь код в мастер-репозитории обновился, а в вашем форке нет, вы ведь не обновляли свою версию репозитория с тех пор, как клонировали её себе на компьютер. Приведём форк в актуальное состояние.

  1. В локальном репозитории вводим команду git checkout master , переходим в master .
  2. Теперь забираем (подтягиваем) изменения из ветки master мастер-репозитория git pull academy master . Academy здесь — сокращённое название мастер-репозитория, такое имя используется в проектах студентов Академии, вы можете выбрать любое другое название. Забираем изменения из мастер-репозитория. Если консоль выдаёт ошибку и говорит, что не знает директории с таким именем, нужно добавить ссылку на этот репозиторий: Вместо academy указывайте своё название и оно закрепится за этим репозиторием.
  3. Теперь отправьте изменения уже из своей ветки master в ваш форк на GitHub с помощью команды git push origin master . Отправляем изменения в форк.

Готово, теперь форк и оригинальный репозиторий находятся в актуальном состоянии.

Данное краткое руководство демонстрирует основные команды в терминале Bash:

Открытие терминала

Первая задача: открыть терминал сразу в нужном каталоге.

Linux

В Linux достаточно щёлкнуть правой кнопкой мыши на каталоге и выбрать пункт меню Open in Terminal или Открыть в терминале :



В Mac всё немного сложнее, необходимо настроить отображение этого пункта меню в Finder.

Для этого необходимо перейти в Системные настройки , затем пункт меню Клавиатура , в разделе Службы выбрать раздел Файлы и папки и поставить флажок напротив Новый терминал по адресу папки :



После чего при клике правой кнопкой мыши на каталоге появится необходимый пункт меню:


Windows (Git Bash)

В Windows всё достаточно просто - клик правой кнопкой мыши на каталоге и выбор Git Bash Here :


Первоначальная настройка Git

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

Если указана опция --global , настройки применятся глобально, то есть для всех ваших действий в системе Git. Без этой опции настройки применяются локально, для текущего репозитория, и не влияют на глобальные настройки.

Одно окно терминала подразумевает, что вы можете в один момент времени находиться только в одном каталоге, который называется Current Working Directory (текущий каталог), так же как и в одном открытом окне Nautilus , Finder или проводника Windows.

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

Абсолютный путь - это путь, начинающийся от корня файловой системы. Корень файловой системы обозначается символом / .

Например, в Git Bash (Windows) абсолютный путь для каталога Program Files , будет чаще всего выглядеть следующим образом: /c/Program Files/ .

Для домашнего каталога в Ubuntu (Linux), абсолютный путь будет выглядеть следующим образом: /home/user/ , где user - имя пользователя.

Bash (Git Bash в том числе) используют символ / для разделения каталогов.

Ещё два специальных обозначения помимо корня файловой системы:

  • . - обозначает текущий каталог;
  • .. - обозначает родительский каталог.

Важно: в терминале символ ` ` (пробел) является символом, разделяющим команды и опции. Поэтому если в пути есть пробел, то варианта два:

  • заключать путь в кавычки, то есть "Program Files" ;
  • использовать символ backslash для экранирования пробела: Program\ Files .

Переменные окружения

Командная оболочка устанавливает ряд переменных, которые выполняют специфические функции. Так, переменная с именем PATH содержит список путей, в которых будет производиться поиск программы, если вы наберёте её название в терминале.

Для вывода содержимого конкретной переменной используется команда echo следующим образом:

Команда printenv позволяет отобразить все переменные окружения:

Видно, что в переменных окружения содержится достаточно много информации о системе.

Автодополнение

В командных оболочках работает автодополнение по клавише Tab :

  • дополняются имена команд;
  • дополняются пути.

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

Ключевые команды

В этом разделе будут описаны ключевые команды, необходимые нам для работы. Естественно, список этот далеко не полный.

Текущий рабочий каталог

pwd - сокращение от “Print Working Directory”.

Отображение текущего рабочего каталога:

Смена рабочего каталога

cd - сокращение от “Change Directory”.

Переход в определённый каталог:

path может быть как абсолютным, так и относительным путём.

Например, перейти на каталог выше:

Перейти в подкаталог src :

Если перед путём нет слеша - он трактуется как относительный (относительно текущего каталога).

Листинг каталога

ls - сокращение от “List”.

Отображает листинг (содержимое каталога):

По умолчанию, ls не отображает файлы, начинающиеся с . , например, .gitignore . Для отображения таких файлов нужно использовать флаг -a :

Создание файлов

Для создания файлов используются специальные программы (например, для создания текстовых файлов - текстовые редакторы).

В рамках рассмотрения Bash мы рассмотрим два текстовых редактора, которые позволят вам создавать и редактировать файлы в псевдографическом режиме.

nano - простой текстовый редактор.

Для того, чтобы создать файл достаточно ввести команду nano и имя файла:

Откроется редактор следующего вида:


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

То есть чтобы записать файл и выйти следует последовательно нажать Ctrl + O (запись) и Ctrl + X (выход).

Редактор nano установлен в большинстве Unix-подобных операционных системах и Git Bash.

Редактор Vim (a programmer’s text editor) - профессиональный редактор, позволяющий достичь максимальной производительности при работе с любыми текстовыми файлами. Настолько популярен, что для любой графической среды (IDE, текстовых редакторов вроде VS Code, Atom, Sublime) всегда есть плагин, включающий возможность редактирования кода в режиме “Vim Mode”.

На освоение работы в Vim нужно потратить достаточно много времени, для этого вы можете воспользоваться интерактивным учебником vimtutor :

Мы лишь скажем, что для выхода из этого редактора (если вы всё-таки осмелились его открыть) нужно нажать клавишу Esc , затем ввести команду :q! - это позволит вам закрыть открытый файл без сохранения изменений.

VS Code

В видео-лекциях используется VS Code. В Windows вы можете правой кнопкой открыть каталог сразу в VS Code.

В Mac OS и Linux вы можете открыть терминал по адресу папки и в терминале выполнить команду code . & , которая откроет выбранный вами каталог в этом редакторе.

Если ни то, ни другое у вас не получилось, то просто откройте VS Code и через File - Open откройте нужный каталог.

Создание каталогов

mkdir - сокращения от “Make Directory”.

Позволяет создавать каталоги (создаст каталог tmp в текущем каталоге):

Стоит обратить внимание на поведение при создании нового каталога в текущей директории. После команды mkdir name ваше текущее расположение в терминале не изменится. Для того, чтобы работать внутри созданного каталога, в него требуется перейти командой cd name . Это справедливо и при клонировании удалённого репозитория с помощью команды git clone <repo_url> . Полностью склонированный репозиторий создаст каталог в текущей директории с именем проекта, в который нужно перейти командой cd repo_name .

Visual Studio Team Explorer позволяет выполнять наиболее распространенные задачи Git, необходимые для повседневной работы. в меню вид Visual Studio откройте Team Explorer или используйте сочетание клавиш ctrl +, ctrl + M .

Team Explorer и Командная строка Git работают совместно. При внесении обновлений и выполнении команд через один интерфейс вы увидите, что эти изменения отражены в другом.

Инструкции по установке Git доступны, если на компьютере не установлен Git.

Windows пользователей: если вы не используете Visual Studio, установите git для Windows , чтобы настроить ядро диспетчера учетных данных git. Диспетчер учетных данных упрощает проверку подлинности с помощью Azure Repos.

в Visual Studio откройте командную строку в репозитории из представления Подключение Team Explorer. Щелкните правой кнопкой мыши локальный репозиторий и выберите открыть командную строку .

Откройте командную строку репозитория из Visual Studio

для выполнения некоторых команд требуется наличие определенных разрешений Git в Azure Repos.

Repos

Разделы справки?

Командная строка Git

Visual Studio

Создание репозитория в новой папке

git init git init

нажмите кнопку Подключение ( ) в Team Explorer, чтобы открыть представление Подключение , а затем выберите создать в разделе локальные репозитории Git .

Создание репозитория с кодом в существующей папке

git init git init
git add --all
git commit -m "Initial commit"

создайте репозиторий из командной строки, а затем откройте представление Подключение Team Explorer и выберите добавить в локальных репозиториях Git .

создание репозитория из существующего Visual Studio решения

git init git init
cd cd
git add --all
git commit -m "Initial commit"

опубликовать) в строке состояния в Visual Studio 2015 с обновлением 2

откройте решение и нажмите кнопку опубликовать ( ) в строке состояния в правом нижнем углу.

Создание нового репозитория в Project

в интернете выберите Repos (или код , если вы не включили новый предварительный просмотр навигации), а затем щелкните раскрывающийся список рядом с именем текущего репозитория и выберите создать репозиторий.

Клонирование репозитория в локальную папку

git clone git clone имя_папки

выберите клон в локальных репозиториях Git в представлении Подключение Team Explorer

Клонирование репозитория в Project

git clone git clone имя_папки

откройте представление Подключение в Team Explorer и щелкните правой кнопкой мыши репозиторий Git в Project под именем учетной записи. Выбрать клон.

Добавление существующего репозитория в Visual Studio

откройте файл решения в Visual Studio (это автоматически добавит репозиторий в Team Explorer) или выберите добавить в локальном репозитории Git в представлении Подключение .

Удалите репозиторий Git и журнал, сохранив текущую версию файлов

Удаление папки Hidden. git, созданной в корне репозитория

удалите папку hidden. git, созданную в корне репозитория, из Windows Explorer или командной строки.

Удаление локального репозитория и всех файлов

Удаление папки, содержащей репозиторий, из файловой системы компьютера

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

Удаление репозитория в Project

git remote add git remote add URL-адрес имени

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

git remote set-url git remote set-url URL-адрес имени

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

Дополнительные сведения см. в следующих ресурсах:

Ветви

Разделы справки?

Командная строка Git

Visual Studio

git branch git branch

Откройте представление " ветви " в Team Explorer, щелкните ветвь правой кнопкой мыши и выберите создать локальную ветвь из.

Переключение на другую ветвь

git checkout git checkout

Откройте представление " ветви " в Team Explorer, а затем дважды щелкните локальную ветвь. Кроме того, можно щелкнуть имя текущей ветви в строке состояния и выбрать другую ветвь.

Создание новой ветви и переключение на нее

git checkout -b git checkout -b

Откройте представление " ветви " в Team Explorer, щелкните ветвь правой кнопкой мыши и выберите создать локальную ветвь из.

Удаление локальной ветви

git branch -d git branch -d

Откройте представление " ветви " в Team Explorer, щелкните ветвь правой кнопкой мыши и выберите Удалить. Необходимо извлечь ветвь, отличную от той, которую нужно удалить.

Удаление удаленной ветви

git push origin --delete git push origin --delete

Откройте представление ветвей в Team Explorer, разверните удаленное окно с ветвью, которую необходимо удалить. Щелкните правой кнопкой мыши удаленное и выберите Удалить ветвь из удаленного

Блокировка ветви, предотвращение обновления

настройка ветви по умолчанию в репозитории Azure DevOps

щелкните значок параметры в интернете ( ), а затем выберите вкладку управление версиями . Выберите свой репозиторий Git, а затем щелкните . рядом с именем ветви и выберите Задать в качестве ветви по умолчанию.

настройка ветви сравнения для запросов на вытягивание в репозитории Azure DevOps

В Интернете перейдите на вкладку ветви при просмотре своего репозитория. Щелкните . рядом с ветвью, которую необходимо заблокировать, и выберите сравнить ветвь.

Дополнительные сведения см. в следующих ресурсах:

Фиксации

Разделы справки?

Командная строка Git

Visual Studio

Создать новую фиксацию

git commit -m " git commit -m "

git commit --amend -m " git commit --amend -m "

Поэтапное изменение всех файлов

Откройте представление изменения в Team Explorer. Щелкните + значок в списке + , чтобы выполнить все изменения для следующей фиксации.

Разэтапировать определенное изменение файла

git add git add

Откройте представление изменения в Team Explorer. Внесите изменения на этапе, щелкнув правой кнопкой мыши измененный файл и выбрав этап.

Проверка непромежуточных изменений

git status --untracked

Откройте представление изменения в Team Explorer. Непромежуточные изменения перечислены в разделе " изменения ".

git rm git rm
git commit -m " git commit -m "

Удалите файл с помощью обозреватель решений, командной строки или любых других средств. Щелкните правой кнопкой мыши удаленный файл в представлении изменения Team Explorer и выберите пункт этап. Выберите зафиксировать промежуточные , чтобы зафиксировать удаление.

git mv git mv
git commit -m "Перемещенное git commit -m "

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

git tag -a git tag -a -m " -m "

Откройте представление изменения в Team Explorer, а затем выберите Просмотреть журнал. в раскрывающемся списке действие . Найдите фиксацию в представлении журнала, щелкните ее правой кнопкой мыши и выберите команду создать тег .

Дополнительные сведения см. в статье Сохранение работы с фиксациями.

Сравнение файлов и версий

Разделы справки?

Командная строка Git

Visual Studio

Сравнение текущего содержимого одного файла с содержимым последней фиксации

git diff HEAD git diff HEAD

Щелкните правой кнопкой мыши изменение в представлении изменения в Team Explorer и выберите пункт сравнить с неизмененным.

Сравнение текущей версии с ветвью

git diff git diff

Щелкните правой кнопкой мыши файл в обозреватель решений и выберите Просмотреть журнал. , а затем установите обе последние фиксации в текущей ветви и последнюю фиксацию в удаленной ветви. Щелкните правой кнопкой мыши и выберите пункт сравнить .

Сравнение изменений между двумя ветвями

git diff git diff branchname2

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

Синхронизация изменений

Разделы справки?

Командная строка Git

Visual Studio

Скачивать новые ветви и фиксации из удаленного репозитория, но не объединять их в локальные ветви

Откройте представление синхронизации из Team Explorer и выберите извлечь.

Слияние обновлений из удаленного репозитория в локальный репозиторий

git pull git pull бранчнаме

При работе с ветвью в локальном репозитории откройте представление Синхронизация в Team Explorer, а затем выберите извлечь.

Публикация локальной ветви в удаленном репозитории

git push -u git push -u бранчнаме

Откройте представление синхронизации в Team Explorer и выберите опубликовать в разделе Исходящие фиксации.

Синхронизация локальной ветви с удаленной ветвью, отправка локальных изменений и извлечение удаленных

git pull git pull бранчнаме
Удаленноебранчнаме в git push-u

Откройте представление синхронизации в Team Explorer. Выберите Синхронизация.

Принудительная отправка ветви, перезапись журнала удаленной ветви с историей текущей ветви

git push --force -u origin git push --force -u origin

Работа из командной строки

Дополнительные сведения см. в следующих ресурсах:

Слияние и переоснование

Разделы справки?

Командная строка Git

Visual Studio

Слияние ветви с текущей ветвью

git merge git merge

В представлении Team Explorer ветви щелкните правой кнопкой мыши ветвь, которую необходимо объединить, и выберите команду объединить из... Проверьте набор параметров и нажмите кнопку объединить.

Слияние удаленной ветви с текущей ветвью

git pull origin git pull origin

В представлении Team Explorer ветви щелкните правой кнопкой мыши удаленную ветвь, которую необходимо объединить, и выберите команду объединить из... Проверьте набор параметров и нажмите кнопку объединить.

Переоснование текущей ветви на журнал другой ветви

git rebase git rebase

В представлении " ветви Team Explorer" щелкните правой кнопкой мыши ветвь, в которой необходимо изменить базовый вид текущей ветви, и выберите пункт переоснование.

Выполнить интерактивную переоснову последних n фиксаций

git rebase -i HEAD

git rebase -i HEAD (Linux и macOS)
git rebase -i "HEAD ^ git rebase -i "HEAD "(Windows)

Выборочная выборка фиксации в текущей ветви

git cherry-pick git cherry-pick

Откройте представление изменения в Team Explorer, а затем выберите Просмотреть журнал. в раскрывающемся списке действие . Найдите фиксацию в представлении журнала, щелкните ее правой кнопкой мыши и выберите Выборочный отбор.

Дополнительные сведения см. в следующих ресурсах:

Отменить

Если вы не являетесь опытным пользователем Git, соблюдайте осторожность при использовании reset команды. Подробнее

Разделы справки?

Командная строка Git

Visual Studio

Отменить все изменения и вернуться к последней фиксации

git reset --hard HEAD

Откройте представление изменения в Team Explorer. Выберите * * действия и выберите Просмотреть журнал в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите сбросить и удалить изменения.. .

Отмена промежуточного хранения файлов, но сохранение изменений в файлах

git reset --mixed HEAD

Откройте представление изменения в Team Explorer. Выберите * * действия и выберите Просмотреть журнал в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, в которой находится ветвь, и выберите сбросить и сохранить изменения.

Удалить незаписанные файлы

В представлении изменения в Team Explorer щелкните правой кнопкой мыши файлы, которые нужно удалить, в разделе изменения , помеченные [Добавить] и выберите Удалить.

Сброс локальной ветви до последней фиксации в удаленной ветви

git reset --hard git reset --hard //
(например, git reset --hard origin/master )

Щелкните ветвь правой кнопкой мыши в представлении ветвей Team Explorer и выберите сбросить и удалить изменения.

Отмена фиксации, отправленной в удаленный репозиторий

git revert git revert

Откройте представление изменения в Team Explorer. Выберите * * действия и выберите Просмотреть журнал в раскрывающемся списке. Щелкните правой кнопкой мыши фиксацию, которую нужно отменить, и выберите отменить.

Читайте также: