Базовые команды Git
git init — создание репозитория
Создаёт новый Git-репозиторий в текущей папке.
После этой команды появляется скрытая папка .git — она хранит всю историю проекта.
git init
Пример:
Вы начинаете новый проект на React Native:
cd MyMobileApp
git init
Теперь Git отслеживает все файлы в папке MyMobileApp/: App.js, package.json, src/, android/, ios/.
⚠️ Не запускайте
git initвнутри уже существующего репозитория — это сломает структуру.
git add — добавление изменений в область подготовки
Добавляет изменения файлов в staging area — область, откуда они будут включены в следующий коммит.
Добавить один файл:
git add src/components/LoginButton.js
Добавить все изменённые и новые файлы:
git add .
Добавить все файлы, кроме игнорируемых (через .gitignore):
git add -A
Пример:
Вы изменили App.js и создали src/screens/Home.js.
Чтобы зафиксировать оба:
git add App.js src/screens/Home.js
Важно:
git addне сохраняет изменения — он только готовит их к сохранению.
Безgit commitизменения не зафиксируются.
git commit — фиксация изменений с сообщением
Сохраняет все подготовленные изменения как один коммит.
Обязательно нужно указывать сообщение с флагом -m.
git commit -m "Добавил экран Home с приветствием"
Пример хорошего сообщения:
"Исправил баг: HomeScreen не отображался на Android 12" — понятно, конкретно, воспроизводимо.
Пример плохого сообщения:
"fixed" — ничего не объясняет.
Коммит — это логическая единица. Делайте один коммит на одну задачу.
git status — просмотр состояния рабочей директории
Показывает, какие файлы изменены, какие добавлены, а какие ещё не отслеживаются.
git status
Вывод может выглядеть так:
On branch main
Changes not staged for commit:
modified: src/components/Button.js
Untracked files:
src/screens/Home.js
Changes to be committed:
new file: src/utils/api.js
Это помогает понять:
— Что вы сделали?
— Что ещё нужно добавить?
— Что уже готово к коммиту?
git log — история коммитов
Показывает список всех коммитов в текущей ветке — от самого нового к самому старому.
git log
Вывод:
commit a1b2c3d4e5f67890...
Author: Ivan Petrov <ivan@example.com>
Date: Mon Apr 1 10:30:00 2025 +0300
Добавил экран Home с приветствием
commit f9e8d7c6b5a4a3b2...
Author: Ivan Petrov <ivan@example.com>
Date: Sun Mar 31 15:20:00 2025 +0300
Настроил стили кнопок
Короткая версия (только хеш и сообщение):
git log --oneline
Вывод:
a1b2c3d Добавил экран Home с приветствием
f9e8d7c Настроил стили кнопок
Используйте
git log --onelineчаще — он удобнее для быстрого просмотра.
git diff — сравнение изменений
Показывает, что именно изменилось в файлах между рабочей директорией и последним коммитом.
git diff
Пример вывода:
diff --git a/src/components/Button.js b/src/components/Button.js
index 1234567..89abcde 100644
--- a/src/components/Button.js
+++ b/src/components/Button.js
@@ -5,7 +5,7 @@ const Button = () => (
<View style={styles.container}>
- <Text>Войти</Text>
+ <Text style={styles.bold}>Войти</Text>
</View>
);
Здесь:
-— удалённая строка+— добавленная строка
Если вы хотите увидеть изменения, которые уже добавлены в staging (и готовы к коммиту):
git diff --cached
git diffбез флагов — показывает не добавленные изменения.
git diff --cached— показывает добавленные, но ещё не закоммиченные.