Git remote
Введение
Из этой статьи вы можете узнать об основных командах git, нужных для работы с удалёнными репозиториями.
Удалённый репозиторий в данном контексте это код, сохраненный на один из онлайн хостингов, основанных на git.
clone: Клонировать удалённый репозиторий
Существует минимум три способа клонировать репозиторий
По HTTPS
git clone https://github.com/company/repo_name.git
По SSH
git clone git@github.com:company/repo_name.git
С помощью GitHub CLI в GitHub
gh repo clone company/repo_name
Если репозиторий публичный эти команды должны работать сходу.
Если репозиторий частный - нужно настроить аутентификацию:
На всякий случай напомню, что авторизация паролем запрещена с 2021-го года
Клонировать определённую ветку можно с помощью опции --branch
git clone --branch test https://github.com/project/repo-name
remote -v
Проверить с каким удалённым репозиторием git связывает локальный репозиторий
$ git remote -v
origin https://github.com/Name/name.git (fetch)
origin https://github.com/Name/name.git (push)
add origin
Если Вы ещё не подключились ни к github ни к gitlab ни к другим сервисам, сделать это можно командой
git remote add origin https://git.company.com/user/projectName.git
Конечно, предварительно нужно создать проект на сайте сервиса + нужно заранее сделать git init .
remote set-url
Изменить привязанный удалённый репозиторий
$ git remote set-url origin https://github.com/YourAccount/your project name.git
Проверить изменился ли привязанный репозиторий
$ git remote -v
origin https://github.com/YourAccount/your project name.git (fetch) origin https://github.com/YourAccount/your project name.git (push)
push
Отправить новые данные на удалённый репозиторий
$ git push origin master
Enumerating objects: 83, done.
Counting objects: 100% (83/83), done.
Delta compression using up to 4 threads
Compressing objects: 100% (81/81), done.
Writing objects: 100% (83/83), 3.36 MiB | 3.19 MiB/s, done.
Total 83 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To https://github.com/andreiolegovichru/travel-site.git
* [new branch] master -> master
Если нужно делать push из другой ветки - просто напишите её называние вместо master
git push origin some/other/branch_name
Enumerating objects: 30, done. Counting objects: 100% (30/30), done. Delta compression using up to 8 threads Compressing objects: 100% (26/26), done. Writing objects: 100% (26/26), 6.32 KiB | 6.32 MiB/s, done. Total 26 (delta 7), reused 0 (delta 0) remote: remote: To create a merge request for some/other/branch_name, visit: remote: https://gitlab.yourcompany.com/Project/Project/merge_requests/new?merge_request%5Bsource_branch%5D=some%2Fother%2Fbranch_name remote: To gitlab.ssh.com:IAM/IAM.git abcdefdc8..abcdef000 topic/qa/init_perf_test_controller -> topic/qa/init_perf_test_controller
В этом примере удалённый репозиторий находится на
GitLab
и сразу же после push в терминале появляется ссылка, перейдя по которой можно сделать Merge Request
https://gitlab.yourcompany.com/Project/Project/merge_requests/new?merge_request%5Bsource_branch%5D=some%2Fother%2Fbranch_name
Если вы пользуетесь другим сервисом для удалённого размещения репозитория, такой ссылки может не появиться.
pull
Если удалённый репозиторий ушёл вперед и вы хотите обновить свой локальный репозиторий данными с удалённого
$ git pull origin master
clone: Клонировать удалённый репозиторий |
Создать бесплатный репозиторий на GitHub |
Быстрая настройка |
Доступ к GitHub по ssh |
GitHub Tokens (classic) |
GitLab
Создать бесплатный репозиторий на GitLab
Доступ к GitLab по ssh
Автор статьи: Андрей Олегович
Git remote | |
Git | |
GitHub | |
Переход с https аутентификации на ssh | |
GitLab |