3.5 Ветвление в Git — Удалённые ветки
Удалённые ссылки — это ссылки (указатели) в ваших удалённых репозиториях, включая ветки, теги и так далее. Полный список удалённых ссылок можно получить с помощью команды git ls-remote или команды git remote show для получения удалённых веток и дополнительной информации. Тем не менее, более распространённым способом является использование веток слежения.
Ветки слежения — это ссылки на определённое состояние удалённых веток. Это локальные ветки, которые нельзя перемещать; Git перемещает их автоматически при любой коммуникации с удалённым репозиторием, чтобы гарантировать точное соответствие с ним. Представляйте их как закладки для напоминания о том, где ветки в удалённых репозиториях находились во время последнего подключения к ним.
Имена веток слежения имеют вид / . Например, если вы хотите посмотреть, как выглядела ветка master на сервере origin во время последнего соединения с ним, используйте ветку origin/master . Если вы с коллегой работали над одной задачей и он отправил на сервер ветку iss53 , при том что у вас может быть своя локальная ветка iss53 , удалённая ветка будет представлена веткой слежения с именем origin/iss53 .
Возможно, всё это сбивает с толку, поэтому давайте рассмотрим на примере. Скажем, у вас в сети есть свой Git-сервер с адресом git.ourcompany.com . Если вы с него что-то клонируете, команда clone автоматически назовёт его origin , заберёт оттуда все данные, создаст указатель на то, на что там указывает ветка master , и назовёт его локально origin/master . Git также создаст вам локальную ветку master , которая будет начинаться там же, где и ветка master в origin , так что вам будет с чего начать.
Примечание
«origin» — это не специальное название
Подобно названию ветки «master», «origin» не имеет какого-либо специального значения в Git. В то время как «master» — это название по умолчанию для ветки при выполнении git init только потому, что часто используется, «origin» — это название по умолчанию для удалённого сервера, когда вы запускаете git clone . Если вы выполните git clone -o booyah , то по умолчанию ветка слежения будет иметь вид booyah/master .

Рисунок 30. Серверный и локальный репозитории после клонирования
Если вы сделаете что-то в своей локальной ветке master , а тем временем кто-то отправит изменения на сервер git.ourcompany.com и обновит там ветку master , то ваши истории продолжатся по-разному. Пока вы не свяжетесь с сервером origin ваш указатель origin/master останется на месте.

Рисунок 31. Локальная и удалённая работа может расходиться
Для синхронизации ваших изменений с удалённым сервером выполните команду git fetch (в нашем случае git fetch origin ). Эта команда определяет какому серверу соответствует «origin» (в нашем случае это git.ourcompany.com ), извлекает оттуда данные, которых у вас ещё нет, и обновляет локальную базу данных, сдвигая указатель origin/master на новую позицию.

Рисунок 32. git fetch обновляет ветки слежения
Чтобы продемонстрировать, как будут выглядеть удалённые ветки в ситуации с несколькими удалёнными серверами, предположим, что у вас есть ещё один внутренний Git-сервер, который используется для разработки только одной из ваших команд разработчиков. Этот сервер находится на git.team1.ourcompany.com . Вы можете добавить его в качестве новой удалённой ссылки для текущего проекта с помощью команды git remote add , как было описано в главе Основы Git. Назовите этот удалённый сервер teamone — это имя будет сокращением вместо полного URL.

Рисунок 33. Добавление ещё одного сервера в качестве удалённой ветки
Теперь вы можете выполнить команду git fetch teamone для получения всех изменений с сервера teamone , которых у вас нет локально. Так как в данный момент на этом сервере есть только те данные, что содержит сервер origin , Git ничего не получит, но создаст ветку слежения с именем teamone/master , которая будет указывать на тот же коммит, что и ветка master на сервере teamone .

Рисунок 34. Ветка слежения teamone/master
Отправка изменений
Когда вы хотите поделиться веткой, вам необходимо отправить её на удалённый сервер, где у вас есть права на запись. Ваши локальные ветки автоматически не синхронизируются с удалёнными при отправке — вам нужно явно указать те ветки, которые вы хотите отправить. Таким образом, вы можете использовать свои личные ветки для работы, которую не хотите показывать, а отправлять только те тематические ветки, над которыми вы хотите работать с кем-то совместно.
Если у вас есть ветка serverfix , над которой вы хотите работать с кем-то ещё, вы можете отправить её точно так же, как вы отправляли вашу первую ветку. Выполните команду git push :
$ git push origin serverfix Counting objects: 24, done. Delta compression using up to 8 threads. Compressing objects: 100% (15/15), done. Writing objects: 100% (24/24), 1.91 KiB | 0 bytes/s, done. Total 24 (delta 2), reused 0 (delta 0) To https://github.com/schacon/simplegit * [new branch] serverfix -> serverfix
Это в некотором роде сокращение. Git автоматически разворачивает имя ветки serverfix до refs/heads/serverfix:refs/heads/serverfix , что означает «возьми мою локальную ветку serverfix и обнови ей удалённую ветку serverfix ». Мы подробно рассмотрим часть с refs/heads/ в главе Git изнутри, но обычно её можно пропустить. Вы также можете выполнить git push origin serverfix:serverfix — произойдёт то же самое — здесь говорится «возьми мою ветку serverfix и сделай её удалённой веткой serverfix ». Можно использовать этот формат для отправки локальной ветки в удалённую ветку с другим именем. Если вы не хотите, чтобы на удалённом сервере ветка называлась serverfix , то вместо предыдущей команды выполните git push origin serverfix:awesomebranch , которая отправит локальную ветку serverfix в ветку awesomebranch удалённого репозитория.
Примечание
Не вводите каждый раз свой пароль
Если вы используете HTTPS URL для отправки изменений, Git-сервер будет спрашивать имя пользователя и пароль для аутентификации. По умолчанию вам будет предложено ввести эти данные в терминале, чтобы сервер мог определить разрешена ли вам отправка изменений.
Если вы не хотите вводить свои данные каждый раз при отправке изменений, вы можете настроить «credential cache». Проще всего держать их в памяти несколько минут, это легко настроить с помощью команды git config —global credential.helper cache .
Для получения более подробной информации о различных вариантах кэша учётных данных обратитесь к разделу Хранилище учётных данных.
В следующий раз, когда один из ваших соавторов будет получать обновления с сервера, он получит ссылку на то, на что указывает serverfix на сервере, как удалённую ветку origin/serverfix :
$ git fetch origin remote: Counting objects: 7, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 3 (delta 0) Unpacking objects: 100% (3/3), done. From https://github.com/schacon/simplegit * [new branch] serverfix -> origin/serverfix
Необходимо отметить, что при получении данных создаются ветки слежения, вы не получаете автоматически для них локальных редактируемых копий. Другими словами, в нашем случае вы не получите новую ветку serverfix — только указатель origin/serverfix , который вы не можете изменять.
Чтобы слить эти наработки в свою текущую рабочую ветку, выполните git merge origin/serverfix . Если вам нужна локальная ветка serverfix , в которой вы сможете работать, то вы можете создать её на основе ветки слежения:
$ git checkout -b serverfix origin/serverfix Branch serverfix set up to track remote branch serverfix from origin. Switched to a new branch 'serverfix'
Это даст вам локальную ветку, в которой можно работать и которая будет начинаться там же, где и origin/serverfix .
Отслеживание веток
Получение локальной ветки из удалённой ветки автоматически создаёт то, что называется «веткой слежения» (а ветка, за которой следит локальная называется «upstream branch»). Ветки слежения — это локальные ветки, которые напрямую связаны с удалённой веткой. Если, находясь на ветке слежения, выполнить git pull , то Git уже будет знать с какого сервера получать данные и какую ветку использовать для слияния.
При клонировании репозитория, как правило, автоматически создаётся ветка master , которая следит за origin/master . Однако, при желании вы можете настроить отслеживание и других веток — следить за ветками на других серверах или отключить слежение за веткой master . Вы только что видели простейший пример, что сделать это можно с помощью команды git checkout -b / . Это часто используемая команда, поэтому Git предоставляет сокращённую форму записи в виде флага —track :
$ git checkout --track origin/serverfix Branch serverfix set up to track remote branch serverfix from origin. Switched to a new branch 'serverfix'
В действительности, это настолько распространённая команда, что существует сокращение для этого сокращения. Если вы пытаетесь извлечь ветку, которая не существует, но существует только одна удалённая ветка с точно таким же именем, то Git автоматически создаст ветку слежения:
$ git checkout serverfix Branch serverfix set up to track remote branch serverfix from origin. Switched to a new branch 'serverfix'
Чтобы создать локальную ветку с именем, отличным от имени удалённой ветки, просто укажите другое имя:
$ git checkout -b sf origin/serverfix Branch sf set up to track remote branch serverfix from origin. Switched to a new branch 'sf'
Теперь ваша локальная ветка sf будет автоматически получать изменения из origin/serverfix .
Если у вас уже есть локальная ветка и вы хотите настроить её на слежение за удалённой веткой, которую вы только что получили, или хотите изменить используемую upstream-ветку, то воспользуйтесь параметрами -u или —set-upstream-to для команды git branch , чтобы явно установить новое значение.
$ git branch -u origin/serverfix Branch serverfix set up to track remote branch serverfix from origin.
Примечание
Сокращение Upstream
Если у вас настроена отслеживаемая ветка, вы можете ссылаться на неё с помощью сокращений @ или @ . Итак, если вы находитесь на ветке master и она следит за origin/master , при желании вы можете использовать git merge @ вместо git merge origin/master .
Если вы хотите посмотреть как у вас настроены ветки слежения, воспользуйтесь опцией -vv для команды git branch . Это выведет список локальных веток и дополнительную информацию о том, какая из веток отслеживается, отстаёт, опережает или всё сразу относительно отслеживаемой.
$ git branch -vv iss53 7e424c3 [origin/iss53: ahead 2] Add forgotten brackets master 1ae2a45 [origin/master] Deploy index fix * serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] This should do it testing 5ea463a Try something new
Итак, здесь мы видим, что наша ветка iss53 следит за origin/iss53 и «опережает» её на два изменения — это значит, что у нас есть два локальных коммита, которые не отправлены на сервер. Мы также видим, что наша ветка master отслеживает ветку origin/master и находится в актуальном состоянии. Далее мы можем видеть, что локальная ветка serverfix следит за веткой server-fix-good на сервере teamone , опережает её на три коммита и отстает на один — это значит, что на сервере есть один коммит, который мы ещё не слили, и три локальных коммита, которые ещё не отправлены на сервер. В конце мы видим, что наша ветка testing не отслеживает удалённую ветку.
Важно отметить, что эти цифры описывают состояние на момент последнего получения данных с каждого из серверов. Эта команда не обращается к серверам, а лишь говорит вам о том, какая информация с этих серверов сохранена в локальном кэше. Если вы хотите иметь актуальную информацию об этих числах, вам необходимо получить данные со всех ваших удалённых серверов перед запуском команды. Сделать это можно вот так:
$ git fetch --all; git branch -vv
Получение изменений
Команда git fetch получает с сервера все изменения, которых у вас ещё нет, но не будет изменять состояние вашей рабочей копии. Эта команда просто получает данные и позволяет вам самостоятельно сделать слияние. Тем не менее, существует команда git pull , которая в большинстве случаев является командой git fetch , за которой непосредственно следует команда git merge . Если у вас настроена ветка слежения как показано в предыдущем разделе, или она явно установлена, или она была создана автоматически командами clone или checkout , git pull определит сервер и ветку, за которыми следит ваша текущая ветка, получит данные с этого сервера и затем попытается слить удалённую ветку.
Обычно, лучше явно использовать команды fetch и merge , поскольку магия git pull может часто сбивать с толку.
Удаление веток на удалённом сервере
Скажем, вы и ваши соавторы закончили с нововведением и слили его в ветку master на удалённом сервере (или в какую-то другую ветку, где хранится стабильный код). Вы можете удалить ветку на удалённом сервере используя параметр —delete для команды git push . Для удаления ветки serverfix на сервере, выполните следующую команду:
$ git push origin --delete serverfix To https://github.com/schacon/simplegit - [deleted] serverfix
Всё, что делает эта строка — удаляет указатель на сервере. Как правило, Git сервер хранит данные пока не запустится сборщик мусора, поэтому если ветка была удалена случайно, чаще всего её легко восстановить.
Как создать копию ветки с удаленного репозитория?
хорошая дока по git вызывается командой git help и потом например git help checkout а где второй вопрос ?
15 фев 2013 в 11:08
пока что не придумал, но скоро будет
15 фев 2013 в 11:10
кто отмодерировал вопрос ? вы русский язык знаете ?
15 фев 2013 в 15:43
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
Современные версии Git позволяют делать это гораздо проще:
git checkout branchname
- Есть удалённая ветка origin/branchname
- Но нет локальной ветки с именем branchname
Допустим, есть удаленная ветка feature , которой у вас ещё нет локально.
$ git branch --all * master remotes/origin/HEAD -> origin/master remotes/origin/feature remotes/origin/master
$ git checkout feature Branch feature set up to track remote branch feature from origin. Switched to a new branch 'feature'
$ git branch --all * feature master remotes/origin/HEAD -> origin/master remotes/origin/feature remotes/origin/master
Новая ветка действительно отслеживает удалённую:
git branch -vv * feature ed185c8 [origin/feature] extract environment master 4db6d3b [origin/master] stylecheck-driven syntax improvements
Отслеживать
ответ дан 6 июл 2016 в 4:33
Nick Volynkin ♦ Nick Volynkin
34k 25 25 золотых знаков 130 130 серебряных знаков 222 222 бронзовых знака
Эта команда создаст локальную копию удаленной ветки
git checkout -b remote_branch origin/remote_branch
Отслеживать
ответ дан 15 фев 2013 в 11:05
AlexDenisov AlexDenisov
6,452 1 1 золотой знак 21 21 серебряный знак 29 29 бронзовых знаков
Разве она не копирует ветку существующего репозитория просто удаленным вариантом?
15 фев 2013 в 11:16
По-моему этого вопрощающий и хотел добиться, или я неправильно понял вопрос?
15 фев 2013 в 11:26
Дело в том что если руководствоваться вашей командой — то клонируется с этого же оригина ветка с удаленного командой git checkout branch если же самому приходиться ветку создавать — то ее нужно создать уже на удаленном хосте а с удаленного так или иначе нужно брать ветку вариантом ниже. ибо оригин — это есть тот что есть репо вообще. может и я вопрос не правильно понял.
Как связать ветки git?
Подключаюсь на по ssh на сервер. хочу стянуть на сервер ветку с репозитория, чтобы они были связаны. Я могу создать на сервере новую ветку с тем же названием как в репозитории, и спулить в нее все из origin/ветка, но так они не связываются как я понял. Как это сделать?
- Вопрос задан более двух лет назад
- 4615 просмотров
1 комментарий
Простой 1 комментарий

Решения вопроса 1

Сергей Кузнецов @sergey-kuznetsov Куратор тега Git
Автоматизатор
А чтобы связать ветки используется такая команда
git branch —set-upstream-to=/
———
Но ты всё усложняешь. Если зачем-то вручную создал ветку, то и связь настроить придётся руками. Из вопроса не до конца понятно, что конкретно ты сделал. Предположу что ты клонировал на сервер свой репозиторий.
git clone
Такая команда автоматически создаст remote с именем origin в которой будет храниться URL вышестоящего репозитория, распакует главную ветку origin/main в локальную ветку main и сразу создаст связь между ними.
Ты хочешь распаковать какую-то другую ветку и делаешь это сложным путем?
git branch feature # создать пустую ветку с именем feature git switch feature # переключиться в эту новую ветку # но свежесозданная ветка не связана ни с какой внешней, поэтому следующей командой # придётся указать откуда и что скачивать git pull origin feature # влить внешнюю ветку origin/feature в текущую локальную ветку # но проще ветки сначала связать git branch --set-upstream-to=origin/feature feature # и тогда заработает простой pull git pull
Но тебе всё это не нужно на самом деле!
Достаточно после клонирования просто написать
git switch origin/feature
Одна строчка сделает всё вышеперечисленное. Создаст локально ветку с таким же именем, распакует в неё содержимое внешней ветки и создаст связь между локальной и внешней веткой.
Если потом, находясь в этой ветке, выполнишь короткую команду git pull , то увидишь что всё связано и скачивается откуда надо.
И даже можно сделать ещё проще. Уже во время клонирования сразу распаковать нужную ветку.
git clone —branch feature
Команда git remote add origin для работы с удаленными репозиториями
Как создать удаленный репозиторий, подключиться к нему и какие команды Git использовать.
Эта инструкция — часть курса «Введение в Git».
Смотреть весь курс
Введение
В этой инструкции мы научим вас создавать удаленный репозиторий, подключаться к нему различными методами и покажем, какие команды Git использовать.
Немного теории
Совместной разработка в Git предполагает, что у разработчиков, работающих над каким-то проектом, есть своя копия репозитория, соответственно и своя локальная история в зависимости от модели ветвления. Так как разработчикам обычно нужно поделиться серией коммитов, а не каким-то одним, в Git есть возможность делиться целыми ветками между репозиториями.
Удаленный репозиторий – это репозиторий, размещенный в локальной или интернет сети. Удаленный репозиторий используется для того, чтобы делиться и обмениваться кодом между разработчиками в рамках сети. Его также можно использовать, если вы разрабатываете проект на нескольких устройствах.
Ветки слежения – это ссылки на определенное положение веток удаленного репозитория. Перемещение веток слежения происходит автоматически при выполнении команд, которые будут показаны дальше.
Имена веток слежения имеют вид / . Если один из разработчиков произвел отправку на удаленный сервер ветки develop, когда у второго разработчика есть своя локальная ветка develop, то удаленная ветка будет называться origin/develop и соответственно быть веткой слежения. При разработке orgin по умолчанию называется удаленный сервер.
Создание удаленного репозитория
Создадим новый репозиторий на GitHub. Для этого на сайте GitHub кликните на значок плюса справа сверху или перейдите по ссылке.
Перед нами откроется следующая форма:
- Owner (владелец) – выбрать персональный аккаунт, который будет иметь полный доступ к данному репозиторию.
- Repository name (название репозитория) – при названии репозитория принято использовать PascalCase (составные слова с заглавной буквы) и kebab-case (составные слова через дефис).
- Description (описание) – описание проекта.
- Public – кто угодно может просматривать репозиторий, но коммитить смогут только те аккаунты, которым вы предоставите доступ.
- Private – никто, кроме вас, не сможет коммитить или просматривать данный репозиторий без права доступа.
- Add a README file – создает readme.md файл, который нужен для добавления длинного описания.
После нажатия Create repository нас перекинет на страницу нашего нового репозитория.
Сейчас в созданном github repo нет никаких файлов. Чтобы их выгрузить из локального репозитория, нужно подключиться к удаленному.
Настройка подключения к удаленному репозиторию
Добавление удаленного репозитория. Команда git remote add origin
Чтобы добавить удаленный репозиторий и присвоить ему название, которое используется для удобства как сокращение адреса, просто выполните команду
git remote add origin
По умолчанию удаленный репозиторий называется origin, о чем было сказано ранее, но можно присваивать любое название.
Ссылочные объекты у подключаемого удаленного репозитория будут скопированы.
Подключение по HTTPS
git remote add origin https://github.com/ИМЯПОЛЬЗОВАТЕЛЯ/РЕПОЗИТОРИЙ.git
С помощью https будет проще работать на нескольких устройствах нежели с перемещением ssh ключей между ними. А порт 443, который используется данным протоколом, обычно открыт. Но для работы с этим способом подключения может понадобиться введения логина и пароля, например, при клонировании приватного репозитория.
Подключение по SSH
git remote add origin git@github.com:ИМЯПОЛЬЗОВАТЕЛЯ/РЕПОЗИТОРИЙ.git
Чтобы подключить репозиторий по ssh, нужно произвести генерацию пары SSH-ключей:
- В Git Bash прописываете одну из двух команд, вставив свою почту от GitHub аккаунта:
ssh-keygen -t ed25519 -C "ПОЧТА_GitHub_АККАУНТА" ssh-keygen -t rsa -b 4096 -C "ПОЧТА_GitHub_АККАУНТА"
- В директории С:/Users/имяпользователя/.ssh/ появятся файлы приватного и публичного (.pub) ключей. Публичный ключ необходимо прописать в настройках GitHub аккаунта, в разделе SSH Keys > Add new.
SSH является более безопасным протоколом, чем HTTPS, но и к тому же позволяет не прописывать каждый раз пароль, вместо этого сравнивается публичный ключ с хранящимся у вас.
Для изменения адреса подключенного удаленного репозитория используется:
git remote set-url
Первое значение ( ) — название удаленного репозитория, второе значение ( ) — новый url.
Основы работы с удаленным репозиторием Git
Просмотр удаленного репозитория
Для того чтобы просмотреть список названий удаленных репозиториев, которые были добавлены, используйте команду:
git remote
Указав ключ -v, можно просмотреть, какие адреса в добавленных удаленных репозиториях используются для чтения и записи.
Полный список удаленных ссылок можно получить с помощью команды:
git ls-remote
Либо для получения удаленных веток и дополнительной информации используйте команду:
git remote show
— название удаленного репозитория, которое ему дали после подключения. Можно использовать и url интересующего удаленного репозитория.
Изменение удаленного репозитория
Чтобы отправить изменения (имя ветки) на сервер , задействуйте команду:
git push
Если ветка, которую вы хотите отправить, не отслеживается, то добавьте флаг —set-upstream. На примере ветки develop это будет выглядеть вот так:
git push --set-upstream origin develop
В GitHub же есть кнопка (Add file) для загрузки или создания файлов прямо в удаленном репозитории.
Так же возможно переименование удаленного репозитория с прежнего имени на новое .
git remote rename
Получение изменений из удаленного репозитория
Для связи с указанным удаленным репозиторием используется следующая команда, которая подтянет новые изменения на локальный репозиторий:
git fetch [remote-name]
После выполнения команды появляются ссылки на все ветки из указанного удаленного репозитория. Данная команда забирает данные в наш локальный репозиторий, но не объединяет или перебазирует их с коммитами в локальном репозитории, связанного с удаленным. Поэтому используйте merge или rebase, когда закончите работать над изменениями.
Если ветка настроена на отслеживание удаленной ветки, то можно использовать более удобную команду:
git pull
Данная команда заменяет прописывание двух команд:
git fetch; git merge
Есть и универсальнее способ: клонирование репозитория. Клонирование копирует все файлы и коммиты удаленного репозитория, после чего уже можно использовать предыдущую команду — git fetch, если понадобятся новые изменения из удаленного репозитория.
git clone [url]
Клонирование может быть по HTTPS, либо по SSH. Рассмотрим каждый вариант.
- По HTTPS
- Может быть использовано независимо от видимости репозитория.
- Понадобятся имя пользователя и пароль аккаунта GitHub. В качестве пароля используется персональный токен доступа. Сгенерировать персональный токен доступа можно в настройках профиля GitHub (Settings > Developer Settings > Personal access tokens).
- Команда будет иметь вид:
git clone https://github.com/ИМЯПОЛЬЗОВАТЕЛЯ/РЕПОЗИТОРИЙ.git
- По SSH
- Доступ к гиту предоставляется по защищенному протоколу.
- Необходимо сгенерировать пару SSH-ключей и добавить публичный ключ в аккаунт GitHub.
- Команда будет иметь вид:
git clone git@github.com:ИМЯПОЛЬЗОВАТЕЛЯ/РЕПОЗИТОРИЙ.git
В GitHub есть зеленая кнопка (Code), кликнув на которую можно будет скопировать url-адрес для выбранного способа клонирования или скачать архивом данный репозиторий.
Для клонирования определенной ветки репозитория, допишите флаг —single-branch:
git clone --single-branch [url]
После работы git clone отслеживание удаленный ветки ставится автоматически.
Если же при клонировании вы хотите другое название (не origin) удаленному репозиторию, то выполните:
git clone -o ticgit
Тогда по умолчанию ветка слежения будет иметь вид ticgit/master (tcgit — пример названия удаленного репозитория).
Работа git clone пошагово выглядит так:
- Создается новая директория.
- В ней создается репозиторий посредством выполнения git init.
- Выполняется команда git remote add origin, которая добавляет по URL (назван origin) удаленный репозиторий.
- Подхватываются новые изменения данного удаленного репозитория через git fetch.
- С помощью git checkout извлекается последний коммит в рабочую директорию.
Удаление удаленного репозитория
Если интересует убрать подключение к удаленному репозиторию, то используйте команду
git remote rm
Где — название репозитория. Вместе с тем удалятся настройки и отслеживаемые ветки.
Чтобы удалить сам удаленный репозиторий, это нужно сделать на сервере, на котором он размещен. На GitHub перейдите в раздел настроек (“Settings”), проскрольте до самого низа, где будет поле Danger Zone. Нажмите на Delete this repository, в открывшемся новом поле введите *Имя пользователя*/*Названия репозитория* для подтверждения удаления. В нашем случае это T.Rex/git-remote-add-origin.
Заключение
Мы создали удаленный репозиторий, узнали про подключение удаленного репозитория разными способами, рассмотрели команды clone, fetch, push, pull для взаимодействия с ним.
Руководство по git stash