Меню

git настройка логина и пароля

Git — Настройка Username & Password — Хранение Учетных Данных

Для подключения к Git-репозиторию с аутентификацией по HTTP(S) каждый раз необходимо вводить имя пользователя и пароль.

Вы можете настроить запоминание Git’ом имени пользователя и пароля указав их в URL репозитория, либо используя credential.helper .

В этой статье я покажу, как клонировать Git-репозиторий, задавая имя пользователя и пароль в URL репозитория, как сохранить имя пользователя и пароль в Git-овском хранилище учетных данных и как настроить хранение разных учетных данных для разных репозиториев на одном и том же Git-сервере.

Дельный Совет: Отображение текущей Git-ветки в терминале! Чатать далее →

Внимание: В зависимости от выбранного вами метода, учетные данные Git будут храниться в файлах .git/config или

/.git-credentials в открытом виде.

Имя Пользователя и Пароль в URL Git-репозитория

Для сохранения учетных данных вы можете клонировать Git-репозиторий, задав имя пользователя и пароль в командной строке:

Имя пользователя и пароль будут сохранены в файле .git/config , как часть URL удаленного репозитория.

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

Хранилище Учетных Данных в Git

Выполните следующую команду, чтобы активировать хранилище учетных данных в вашем Git-репозитории:

Чтобы активировать хранилище учетных данных для всех Git-репозиториев, выполните:

После активации хранилища, при первом выполнении команд git pull или git push вам нужно будет ввести имя пользователя и пароль, которые они будут сохранены в файле

Во время следующих взаимодействий с удаленным Git-репозиторием вам больше не нужно будет указывать имя пользователя и пароль.

Каждая учетная запись в файле

/.git-credentials хранится на отдельной строке в виде URL:

Имена Пользователей и Пароли для Разных Репозиториев

Чтобы иметь возможность хранить разные имена пользователей и пароли для разных Git-репозиториев на одном и том же Git-сервере, вы можете включить опцию useHttpPath .

By default, Git does not consider the «path» component of an http URL to be worth matching via external helpers. This means that a credential stored for https://example.com/foo.git will also be used for https://example.com/bar.git . If you do want to distinguish these cases, set useHttpPath option to true (source)

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

Имена пользователей и паролей для различных репозиториев на GitHub будут храниться раздельно в файле

Дельный Совет: Как создать новую ветки и сразу перейти в нее! Читать далее →

источник

Обновление репозитория git без ввода паролей

Есть корпоративный аккаунт «А» с приватными репозиториями на github.com;
есть аккаунт «B» — мой обычный аккаунт, который имеет административный доступ к репозиториям аккаунта «А».

При обновлении репозитория на сервере через консоль командой git pull система каждый раз запрашивает пароль. Ввожу пароль аккаунта «В» и команда успешно выполняетя.

Вопрос: как сделать так, чтобы при вводе команды из консоли, система не запрашивала пароль? Это должно позволить выполнять обновление репозитория из php.

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

1 ответ 1

Запустите в консоли команду git remote -v и посмотрите, через какой протокол у вас осуществляется доступ к репозиторию.

Если это https, то будет примерно следующий путь:

https

Требуется Git версии не ниже 1.7.10

В этом случае вам всегда требуется указывать пароль при общении с сервером. Git можно попросить сохранять на некоторое время (по умолчанию на 15 минут) введённые данные командой:

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

(время указывается в секундах)

Вы можете также указать git хранить ваши данные постоянно:

При этом ваши данные будут храниться в открытом виде в файле .git-credentials.

Обнулить настройки этой возможности можно командой:

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

В зависимости от этой настройки, информация с вашими данными будет расположена либо в каталоге проекта, либо в $HOME

Вы можете указать информацию для авторизации в url, по которому осуществляете доступ к репозиторию, для этого его нужно преобразовать так:

Измените текущий url в remote на указанный (как это сделать, описано ниже в ответе) и авторизация не будет запрашиваться.

Помните, что и в этом случае ваши данные будут храниться в открытом виде.

Существует возможность настроить netrc

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

Для начала создайте ssh-ключ с помощью команды:

Она попросит ввести имя файла (во многих случаях можно оставить имя по умолчанию) и пароль. Пароль при желании можно оставить пустым, для этого просто дважды нажмите Enter при запросе пароля (обычно рекомендуется устанавливать пароль).

По умолчанию пара ключей появляется в каталоге

/.ssh/ . Вам нужно скопировать содержимое файла id_rsa.pub (если вы не задавали другое при создании ключа) и сохранить его в своём профиле на GitHub (Settings -> SSH Keys -> Add SSH key).

После этого можно перейти к настройке ssh-agent :

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

Запускаем ssh-agent в фоне:

Теперь осталось добавить сгенерированный ключ в ssh-agent :

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

Для уже созданного репозитория можно изменить способ доступа, используя команду

где задаёт путь, в котором используется нужный протокол

источник

Что нам стоит Git настроить!


Дарова, хабр! (ничего оригинальнее не придумал)

Сомневаюсь что эта заметка тянет на полноценный пост, но я все же оставлю ее здесь. О чем же пойдет речь?

Все мы слышали о Git. Все мы знаем что он — хорош. Но лишь немногие пытаются что-то с ним делать, как-то его протвикерить. Сразу говорю, тут не будет ничего паранормального, только немного работы с файлом .gitconfig. Да-да, именно с тем файлом, который так трепетно пылится у вас в домашней директории.

Так, мне уже немного надоело писать этот, по сути, бессмысленный вступительный текст, так что давайте уже начнем что-то делать.

В стандартной поставке системы контроля версий Git есть замечательный файл — .gitconfig. Его предназначение очевидно из названия. Строго говоря, это пользовательский конфиг. Он позволяет настраивать алиасы, надстройки, etc.

Не знаю как на других системах, но в Linux он лежит в

. Если его там нету — смело создавайте!

Открываем .gitconfig в удобном для вас текстовом редакторе (для меня это nano).

Подсветка вывода

Читать вывод Git’а «всухую» достаточно сложно. Я видел достаточно много людей которые терпели это. После одной замечательной комманды им полегчало. Для включения цветного вывода добавляем строчки в .gitconfig:

Читайте также:  установка штатных головных устройств на android
Себя записываем

Зачем это нужно? Если вы запустите git log для какого-то репозитория, вы увидите что для каждого коммита, автор характеризируется через Name и Email. Чтобы нас правильно нашли, настало время задать все это правильно. Внимание! Менять эту информацию во время разработки крайне нежелательно. Она может поломать историю (множественные автора)! Желательно единажды выбрать какое-то имя и конкретный Email.

Шаблон коммитов

Не знаю как другие хабровчане работают, но в основном мои коммиты идут в KDE Edu проекты. Там четко диктуют правила формы и вида коммита, так как он парсится разными ботами и т.д. Чтобы не дай Бог ошибиться или что-то неправильно сделать существуют шаблоны. Такой шаблон очень просто сделать (а можно и взять где-то). Чтобы он отображался во время git commit нужно добавить такое:

/.commit-template конечно же может быть любым файлом в вашей файловой системе.

Credential Helper

Бывает такое что нужно выполнить несколько операций с удаленным репозиторием за раз. Каждый раз вводить имя и пароль, имя и пароль, имя и… Напрягает, нет? Меня напрягает. Начиная с версии 1.7.10 Git поддерживает Credential Helper.

Ставим нужное время (у меня это 3600 — один час) и радуемся!

Алиасы для частых команд

Я очень часто пользуюсь командами checkout и branch, например. Писать по три-четыре раза одно и тоже — надоедает. Давайте заменим их на более лаконичный вариант: cd и dir, например.

А теперь посмотрим что мы сделали:

Без модификаций С модификациями

Префиксы для remote

Есть один трюк, который нередко используется разработчиками. Это префиксы для remote. Они позволяют сократить длину адреса к удаленному репозиторию. Можно задать такие для read-only и push. Зачем? Это логично для open-source проектов. Для уменшения нагрузки на сервер и скорости, лучше pull’ить из anongit (read-only) без использования SSH. Что стоит у меня для KDE?

Давайте разбираться. Тут мы настроили два URL для pull и push. Задали префикс kde. Что это нам дает? Посмотрим на примере (в статье не указан префикс gh — для GitHub):

Без модификаций С модификациями
Заключение

В статье были опущены мои всякие «экзотические» алиасы и доп. префиксы для разных сервисов. Смело могу сказать, что после того как потвикерил Git — работать стало приятнее. Все знакомые, которые опробовали это — согласились со мной.

P.S. Если я что-то делаю неправильно или я уже совсем убогий, пожалуйста, отпишите ко мне в ЛС и сообщите/посоветуйте (если вам не сложно, конечно).

UPD: Больше интересного и свежего можно найти тут.

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

источник

Работа с Git через консоль

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

Когда получил непонятное задание.

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

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

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

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

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

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

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

В мире разработки такие программы называют «терминал» или «консоль». А работает это так: мы вводим команду и получаем реакцию машины: сообщение об ошибке, запрос на подтверждение информации, результат выполненных действий.

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

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

Установка в Linux

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

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

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

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

  1. Скачиваем Git со страницы проекта.
  2. Запускаем загруженный файл.
  3. Система может показать окно с ошибкой, где будет написано, что файл скачан с неавторизованного сайта и инсталлятор не может быть запущен. В таком случае нужно зайти в «Системные настройки» — «Безопасность» (Security and Privacy), в появившемся окне будет сообщение об ошибке и кнопка Open anyway (Всё равно открыть). Нажимаем.
  4. Система покажет окно, уточняющее хотите ли вы запустить установку. Подтверждаем действие.
  5. Установщик проведёт через все необходимые шаги.

Установка в Windows

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

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

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

Настройка Git

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

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

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

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

А всё остальное — на интерактивных курсах по HTML, CSS и JavaScript. 11 глав сейчас и бесплатно.

Нажатие на кнопку — согласие на обработку персональных данных

Регистрация на GitHub

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

Читайте также:  activ настройка точки доступа

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

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

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

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

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

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

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

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

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

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

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

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

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

/.ssh , чтобы перейти в нужный каталог. Переходим в нужную директорию.

  • Используем ls , чтобы увидеть список всех файлов в каталоге. Открываем список файлов в директории. Ищем пару файлов с названиями вида имя и имя.pub . Обычно имя — id_rsa , id_dsa , id_ecdsa или id_ed25519 . Файл с расширением .pub — ваш публичный ключ, а второй — ваш приватный, секретный ключ. Если таких файлов или даже каталога .ssh у вас нет, вы можете их сгенерировать. Для этого делаем следующее.
    • Открываем консоль и вводим команду: Указываем тот адрес электронной почты, который вводили при регистрации на GitHub. Генерируем ключ.
    • Далее нужно указать расположение файла для сохранения ключа. Если вы не введёте путь до файла и просто нажмёте Enter, ключ сохранится в файле, указанном в скобках.
    • Теперь нужно установить пароль к вашему ключу и дважды ввести его. Если вы не хотите вводить пароль каждый раз, когда используете ключ, пропустите этот шаг, нажав «Enter», и ничего не вводите. Указываем расположение ключа и вводим пароль.
  • Добавляем ключ в ssh-agent (сгенерированный или уже существующий). Проверяем доступность ключа командой eval «$(ssh-agent -s)» и добавляем с помощью ssh-add

    /.ssh/your_key_name , где указываем верный путь до файла с ключом и его имя. Добавляем ключ в shh-agent. Несколько важных примечаний:

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

    /.ssh/config связь ключа с доменом.
    Если у вас Windows и вы пользуетесь программой Cmder, возможны проблемы с командой eval «$(ssh-agent -s)» . Может появиться такое сообщение об ошибке: «eval не является внутренней или внешней командой, исполняемой программой или пакетным файлом».

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

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

    Если у вас macOS Sierra версии 10.12.2 и выше, нужно изменить ваш

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

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

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

    Если у вас Linux, может понадобится переназначить для

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

    /.ssh/

  • После того как создан ключ, его нужно добавить на GitHub. Для этого копируем его содержимое с помощью одной из следующих команд:
    • Если вы на Windows clip .
    • Для пользователей macOS pbcopy .
    • На Linux используйте sudo apt-get install xclip , чтобы установить необходимый для копирования пакет xclip , а затем введите xclip -sel clip . Или введите команду cat

      /.ssh/id_rsa.pub , контент документа появится прямо в консоли и вы сможете скопировать ключ оттуда.

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

      Переходим на страницу для работы с ключами в вашем профиле на GitHub. Страница с настройками ключей в вашем профиле.

      Нажимаем кнопку New SSH key (новый SSH-ключ). Вводим имя ключа (можно придумать абсолютно любое) в поле Title (название), а в Key (ключ) вставляем сам ключ из буфера обмена. Теперь нажимаем Add SSH key (добавить 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, она называется master . Обычно в ней находится стабильная версия программы без ошибок. Если вы хотите исправить баг, добавить новую функциональность в проект, попробовать какую-то технологию, но не хотите сломать код в основной ветке, вы ответвляетесь из master и трудитесь в своей новой ветке. Здесь вы можете реализовывать свои идеи, не переживая, что рабочий код сломается. Каждая ветка — что-то вроде второстепенной дороги, которая затем снова соединяется с основной.

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

      Новая ветка.

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

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

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

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

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

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

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

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

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

      Теперь мы можем сделать коммит, то есть зафиксировать все сохранённые изменения и дать им название. Это делается с помощью команды git commit -m «ваше сообщение» . Текст сообщения должен быть лаконичным и в то же время сообщать о том, что делает коммит (внесённые изменения). Например, «добавляет имя наставника в Readme», «вводит функцию сортировки изображений», «правит ошибку в поиске городов на карте».

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

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

      Чтобы отправить свои изменения (коммиты) в репозиторий на GitHub, введите команду git push origin название-текущей-ветки , где origin означает репозиторий, который был склонирован на компьютер, то есть ваш форк.

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

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

      Любое предложение можно принять или отвергнуть. Так же и с пулреквестом. После его создания, он должен получить ревью и одобрение так называемого коллаборатора — пользователя 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 . Отправляем изменения в форк.

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

      источник

  • Добавить комментарий

    Adblock
    detector