Skip to main content

Настройка Git в WSL-Ubuntu && Windows

Зайдите в папку проекта.

Проверка версии Git

Чтобы узнать, какая версия Git установлена в Ubuntu:

git --version

(Если нужно обновить Git до актуальной версии в Ubuntu: sudo apt update && sudo apt install git -y).

Проверить, установлена ли утилита GitHub CLI (gh) в вашей системе (в WSL Ubuntu, PowerShell на Windows или Linux), можно с помощью любой из следующих команд:

Проверка версии (Самый простой способ)

Выполните в терминале:

Bash
gh --version
  • Если gh установлен: Вы увидите версию утилиты и архитектуру, например:

    gh version 2.52.0 (2024-06-20)

  • Если gh НЕ установлен:

    • В WSL / Ubuntu вы получите сообщение: Command 'gh' not found...

    • В Windows PowerShell вы получите ошибку: gh : Имя "gh" не распознано как имя командлета...

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

  • В WSL / Ubuntu / Linux:

    Bash
    which gh
    

    (Если установлен, вернет путь вида /usr/bin/gh или /usr/local/bin/gh).

  • В Windows PowerShell:

    PowerShell
    Get-Command gh
    

Как быстро установить gh, если его нет:

В WSL / Ubuntu:

sudo apt update && sudo apt install gh -y

В Windows (через winget в PowerShell):

PowerShell
winget install --id GitHub.cli

Чтобы склонировать репозиторий с GitHub со всеми ветками и полной историей, достаточно выполнить стандартную команду git clone:

Bash
git clone git@github.com:username/repository.git

(Или через HTTPS / GitHub CLI, например: gh repo clone username/repository).

Вопреки распространенному заблуждению, стандартный git clone по умолчанию скачивает абсолютно ВСЕ ветки, теги и всю историю проекта.

Однако локально Git сразу создает текстовую указательную ветку только для главной (обычно main или master). Остальные ветки остаются в так называемом режиме отслеживания (remote-tracking branches).

Как увидеть все забранные ветки и работать с ними

1. Посмотреть список всех веток

Перейдите в папку проекта (cd repository) и выполните:

Bash
git branch -a

Вы увидите список:

Plaintext
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/main
  remotes/origin/dev
  remotes/origin/feature-login

Все ветки с префиксом remotes/origin/ уже находятся на вашем компьютере, их не нужно скачивать заново из интернета.

2. Как переключиться на нужную ветку

Чтобы начать работать с любой из локально загруженных веток (например, dev), просто переключитесь на нее:

Bash
git checkout dev

(В современных версиях Git также можно использовать git switch dev).

Git автоматически создаст локальную ветку dev, свяжет ее с origin/dev и переключит ваш рабочий каталог.

Если вам нужно гарантированно развернуть ЛОКАЛЬНЫЕ копии ВСЕХ веток сразу

Если ваша цель — не просто скачать проект, а сделать так, чтобы команда git branch (без флага -a) сразу показывала полный список всех веток как локальных, используйте короткий однострочник прямо в терминале:

В WSL / Ubuntu (Bash):

Bash
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all

В Windows PowerShell:

PowerShell
git branch -r | Where-Object { $_ -notmatch '->' } | ForEach-Object {
    $branch = $_.Trim().Replace('origin/', '')
    git branch --track $branch $_.Trim()
}
git fetch --all

После выполнения этого скрипта каждая удаленная ветка превратится в полноценную локальную ветку.