Глава 23 · Часть III · Создаём Python-проект

Первый коммит в клонированном репозитории

После клонирования в рабочем дереве уже есть стартовый набор файлов — первый коммит репозитория SafeSort.

SafeSort · Часть 3 из 6
Git и GitHubПланированиеПроектРеализацияТесты и CIРелиз

Репозиторий склонирован (часть I), Issues и GitHub Project разобраны (часть II) — самое время заглянуть внутрь каталога, который появился после git clone, и понять, что в нём уже есть.

~/safesort $ ls -la
CHANGELOG.md
.git/
.github/
.gitignore
LICENSE
pyproject.toml
README.md
src/
tests/
~/safesort $ cat .gitignore
__pycache__/
*.pyc
.venv/
dist/
build/
*.egg-info/
.pytest_cache/
.safesort/
safesort/
.git/
.github/
.gitignore
README.md
LICENSE
CHANGELOG.md
pyproject.toml
src/
tests/
Настоящий стартовый набор репозитория SafeSort — уже в вашем каталоге после клонирования.

Всё это — первый коммит репозитория, chore: initial project scaffold: рабочее дерево (файлы на диске) плюс .git (история изменений) — вместе их и называют репозиторием. Каждый следующий раздел этой части добавляет к этому набору содержание — README дополняется, появляется Python-пакет внутри src/, а .gitignore уже сейчас исключает служебные файлы (кеш байткода, виртуальное окружение, сборочные каталоги), чтобы они не засоряли историю.

Коротко

  • git clone сразу приносит рабочее дерево — файлы на диске — и .git — историю изменений; вместе это и есть репозиторий.
  • У SafeSort уже есть стартовый набор: README, LICENSE, CHANGELOG, pyproject.toml, .gitignore — первый коммит репозитория.
  • .gitignore перечисляет то, что Git не должен отслеживать: временные и сгенерированные файлы.