Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 52 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,52 @@
# Work_remote
# Work_remote
# Инструкция по работе с удаленным репозиторием.
Для того, чтобы внести вклад в какой-либо Git-проект, необходимо уметь работать с удалёнными репозиториями. **Удалённые репозитории** представляют собой версии вашего проекта, сохранённые в интернете или ещё где-то в сети. У вас может быть несколько удалённых репозиториев, каждый из которых может быть доступен для чтения или для чтения-записи.
## Добавление удаленного репозитория к существующему локальному.
`git remote add origin <ссылка на удаленный репозиторий>` - подключает удаленный репозиторий к вашему под переданным именем.

`git remote -v` - просмотр адресов для чтения и записи, привязанные к репозиторию.
## Клонирование удаленного репозитория.
Если репозиторий открытый, то его можно склонировать.

Команда `git clone <ссылка на удаленный репозиторий>` создаёт на вашем компьютере точную копию удаленного репозитория.
Пытается слить все ветки на локальный компьютер.
## Получение изменений из удаленного репозитория.
Команда `git pull` используется для извлечения и загрузки содержимого из удаленного репозитория на локальный и автоматически делает merge с нашей версией.
## Отправка изменений в удаленный репозиторий.
Команда `git push <имя удаленного репозитория> <имя ветки>` загружает изменения из локального репозитория в удаленный репозиторий. Например, `git push origin main` загрузит изменения с текущей ветки *main* в удаленный репозиторий *origin*
## Как настроить совместную работу Git Hub с локальным репозиторием.
1. Создать аакаунт на Git Hub.
2. Создать удаленный репозиторий на Git Hub (нажать "+" или кнопку "New").
3. Вводим имя репозитория и описание, далее нужно выбрать, будет ли репозиторий открытым или закрытым, то есть доступным только вам и людям и нажимаем кнопку "Create repository".
4. Создаем локальный репозиторий.
5. Делаем привязку локального и удаленного репозитория командой `git remote add origin <ссылка на удаленный репозиторий>`.
6. Командой `git branch -M main` переименовываем ветку в локальном репозитории как в удаленном с "master" на "main"
7. Вносим изменения в локальном репозитории, фиксируем их.
8. Отправить **(push)** локальный репозиторий в удаленный, при этом может потребоваться аутентификация.
9. Обновим удаленный репозиторий, редактируем его, фиксируем изменения кнопкой "Commit changes".
10. Выкачиваем **(pull)** актуальное состояние из удаленного репозитория.
## Создание fork репозитория на GitHub. Pull reguest.
`pull reguest` - это запрос на вливание.
Команда для предложения изменений в чужой удаленный закрытый репозиторий.

### **Как сделать `pull reguest` с командой клонирования:**
+ Делаем `fork` (ответвление) репозитория в свой аккаунт. Форки нужны, чтобы вносить свои изменения в проект, к репозиторию которого у вас нет прямого доступа.
+ Клонируем fork репозиторий к себе на компьютер командой `git clone <ссылка на удаленный репозиторий>`
+ Убеждаемся в что мы в папке с инициалиированным репозиторием, если нет, то переходим в нужную командой `cd <название папки>`
+ Создаем новую ветку и в нее вносим свои изменения
+ Фиксируем изменения
+ Отправляем свою версию (`git push`) в fork репозиторий.
+ Нажимаем на кнопку `"Compare and pull request"` на подсказке GitHub, либо переходим на вкладку **Pull Requests** и нажимаем `New pull request`.
+ Делаем описания наших изменений и нажимаем `Create pull request`.

При использовании команды `git clone` теряется часть истории.

### **Как сделать `pull reguest` без клонирования:**
* Делаем `fork` (ответвление) репозитория в свой аккаунт.
* Создаем пустой локальный репозиторий, инициализируем его.
* Связываем fork репозиторий с своим локальным - `git remote add origin <ссылка на удаленный репозиторий>`.
* Выкачиваем информацию из своего fork репозитория командой `git pull origin main`.
* Создаем новую ветку и в нее вносим свои изменения.
* Фиксируем изменения.
* Командой `git push` отправляем наши изменения в fork репозиторий.
* Делаем `pull reguest`.