Настройка 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), можно с помощью любой из следующих команд:
Проверка версии (Самый простой способ)
Выполните в терминале:
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:
which gh(Если установлен, вернет путь вида
/usr/bin/ghили/usr/local/bin/gh). -
В Windows PowerShell:
Get-Command gh
Как быстро установить gh, если его нет:
В WSL / Ubuntu:
sudo apt update && sudo apt install gh -y
В Windows (через winget в PowerShell):
winget install --id GitHub.cli
Чтобы склонировать репозиторий с GitHub со всеми ветками и полной историей, достаточно выполнить стандартную команду git clone:
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) и выполните:
git branch -a
Вы увидите список:
* main
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/origin/dev
remotes/origin/feature-login
Все ветки с префиксом remotes/origin/ уже находятся на вашем компьютере, их не нужно скачивать заново из интернета.
2. Как переключиться на нужную ветку
Чтобы начать работать с любой из локально загруженных веток (например, dev), просто переключитесь на нее:
git checkout dev
(В современных версиях Git также можно использовать git switch dev).
Git автоматически создаст локальную ветку dev, свяжет ее с origin/dev и переключит ваш рабочий каталог.
Если вам нужно гарантированно развернуть ЛОКАЛЬНЫЕ копии ВСЕХ веток сразу
Если ваша цель — не просто скачать проект, а сделать так, чтобы команда git branch (без флага -a) сразу показывала полный список всех веток как локальных, используйте короткий однострочник прямо в терминале:
В WSL / Ubuntu (Bash):
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
В Windows PowerShell:
git branch -r | Where-Object { $_ -notmatch '->' } | ForEach-Object {
$branch = $_.Trim().Replace('origin/', '')
git branch --track $branch $_.Trim()
}
git fetch --all
После выполнения этого скрипта каждая удаленная ветка превратится в полноценную локальную ветку.