Remote — удалённый репозиторий (GitHub, GitLab, Bitbucket). Позволяет:
# Добавить remote (обычно называется origin)
git remote add origin https://github.com/user/repo.git
# Проверить remotes
git remote -v
# Изменить URL remote
git remote set-url origin git@github.com:user/repo.git# Отправить ветку в remote
git push origin main
# Первый push с установкой upstream
git push -u origin main
# После этого можно просто: git push
# Отправить все ветки
git push --all origin
# Отправить теги
git push --tags# Получить и слить изменения
git pull origin main
# Это сокращение для:
git fetch origin
git merge origin/main
# Pull с rebase (линейная история)
git pull --rebase origin main| Команда | Действие |
|---------|----------|
| git fetch | Только скачивает, не сливает |
| git pull | Скачивает + сливает в текущую ветку |
# Fetch — безопасно посмотреть что нового
git fetch origin
git log HEAD..origin/main # Что добавилось в remote
# Если устраивает — слить
git merge origin/main# По HTTPS
git clone https://github.com/user/repo.git
# По SSH (нужен настроенный ключ)
git clone git@github.com:user/repo.git
# Клонировать в определённую папку
git clone https://github.com/user/repo.git my-folder
# Shallow clone (без истории)
git clone --depth 1 https://github.com/user/repo.gitСоздаёт копию в вашем аккаунте GitHub.
git clone https://github.com/YOUR-USER/repo.git
cd repo
git checkout -b feature/my-feature# ... вносите изменения ...
git add .
git commit -m "feat: add awesome feature"git push -u origin feature/my-featureНа GitHub: "Compare & pull request" → описание → "Create pull request"
# Если нужны изменения после review
git add .
git commit -m "fix: address review comments"
git pushКнопка "Merge pull request" на GitHub.
# Генерация ключа
ssh-keygen -t ed25519 -C "your@email.com"
# Копировать публичный ключ
cat ~/.ssh/id_ed25519.pub
# Добавить в GitHub → Settings → SSH Keys
# Проверить подключение
ssh -T git@github.comnode_modules/
dist/
build/
.env
.env.local
*.log
.DS_Store
coverage/__pycache__/
*.py[cod]
venv/
.env
*.egg-info/
dist/# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
- run: npm run build# Посмотреть разницу с remote
git diff main origin/main
# Отменить последний push (осторожно!)
git push --force origin main
# Удалить remote ветку
git push origin --delete feature/old-branch
# Синхронизировать fork с upstream
git remote add upstream https://github.com/original/repo.git
git fetch upstream
git merge upstream/mainПодключение remote и первый push
# Проверяем текущие remotes
git remote -v
# Добавляем origin
git remote add origin https://github.com/your-user/your-repo.git
# Первый push + установка upstream
git push -u origin main
# Дальше можно просто
git pushБезопасная синхронизация с remote через fetch
# Получаем изменения из remote, но не вливаем автоматически
git fetch origin
# Смотрим, какие коммиты есть в origin/main, но нет локально
git log --oneline HEAD..origin/main
# Если всё ок — мержим вручную
git merge origin/mainRemote — удалённый репозиторий (GitHub, GitLab, Bitbucket). Позволяет:
# Добавить remote (обычно называется origin)
git remote add origin https://github.com/user/repo.git
# Проверить remotes
git remote -v
# Изменить URL remote
git remote set-url origin git@github.com:user/repo.git# Отправить ветку в remote
git push origin main
# Первый push с установкой upstream
git push -u origin main
# После этого можно просто: git push
# Отправить все ветки
git push --all origin
# Отправить теги
git push --tags# Получить и слить изменения
git pull origin main
# Это сокращение для:
git fetch origin
git merge origin/main
# Pull с rebase (линейная история)
git pull --rebase origin main| Команда | Действие |
|---------|----------|
| git fetch | Только скачивает, не сливает |
| git pull | Скачивает + сливает в текущую ветку |
# Fetch — безопасно посмотреть что нового
git fetch origin
git log HEAD..origin/main # Что добавилось в remote
# Если устраивает — слить
git merge origin/main# По HTTPS
git clone https://github.com/user/repo.git
# По SSH (нужен настроенный ключ)
git clone git@github.com:user/repo.git
# Клонировать в определённую папку
git clone https://github.com/user/repo.git my-folder
# Shallow clone (без истории)
git clone --depth 1 https://github.com/user/repo.gitСоздаёт копию в вашем аккаунте GitHub.
git clone https://github.com/YOUR-USER/repo.git
cd repo
git checkout -b feature/my-feature# ... вносите изменения ...
git add .
git commit -m "feat: add awesome feature"git push -u origin feature/my-featureНа GitHub: "Compare & pull request" → описание → "Create pull request"
# Если нужны изменения после review
git add .
git commit -m "fix: address review comments"
git pushКнопка "Merge pull request" на GitHub.
# Генерация ключа
ssh-keygen -t ed25519 -C "your@email.com"
# Копировать публичный ключ
cat ~/.ssh/id_ed25519.pub
# Добавить в GitHub → Settings → SSH Keys
# Проверить подключение
ssh -T git@github.comnode_modules/
dist/
build/
.env
.env.local
*.log
.DS_Store
coverage/__pycache__/
*.py[cod]
venv/
.env
*.egg-info/
dist/# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
- run: npm run build# Посмотреть разницу с remote
git diff main origin/main
# Отменить последний push (осторожно!)
git push --force origin main
# Удалить remote ветку
git push origin --delete feature/old-branch
# Синхронизировать fork с upstream
git remote add upstream https://github.com/original/repo.git
git fetch upstream
git merge upstream/mainПодключение remote и первый push
# Проверяем текущие remotes
git remote -v
# Добавляем origin
git remote add origin https://github.com/your-user/your-repo.git
# Первый push + установка upstream
git push -u origin main
# Дальше можно просто
git pushБезопасная синхронизация с remote через fetch
# Получаем изменения из remote, но не вливаем автоматически
git fetch origin
# Смотрим, какие коммиты есть в origin/main, но нет локально
git log --oneline HEAD..origin/main
# Если всё ок — мержим вручную
git merge origin/mainИзучи материал выше и задай вопросы AI если что-то непонятно
Этот урок содержит теоретическую информацию. Изучи материал, затем отметь урок как пройденный.