git init — создает новый репозиторий в той папке, в которой эта команда вызвана.
git add — когда мы внесли изменения в код и готовы «сохранить» свои изменения в репозитории, нам нужно выбрать файлы, которые мы будем сохранять. Этой командой мы и выбираем измененные нами файлы для фиксации изменений.
Например, если вы внесли изменения в несколько файлов и хотите подготовить к сохранению сразу все, можно ввести эту команду с точкой в конце:
git add .
Либо можно добавлять файлы по отдельности, указывая их имена. Так, команда:
git add src/app.tsx
подготовит к сохранению только файл
app.tsx, находящийся в папке src.
git restore — работает обратно команаде git add:git restore --staged src/app.tsx
git status — эта команда отобразит вам название вашей ветки и покажет список файлов с несохранёнными изменениями. Зелёным цветом будут выделены те файлы, которые вы подготовили к сохранению командой git add, а красным — те, которые вы не выбрали к сохранению.
Очень советую вызывать команду git status и перепроверять себя перед тем, как сохранять изменения!
git commit — сохранить изменения в репозитории для тех файлов, которые вы выбрали командой git add.
Когда мы сохраняем свои изменения (или "коммитим"), нам нужно указать пояснение, что именно мы сделали. Делается это так:
git commit -m "Покрасил кнопку в красный цвет"
git push — отправить (запУшить) свои сохраненные изменения на сервер, где хранится ваш репозиторий. Этой командой так же можно указывать, в какой именно репозиторий и в какую ветку вы отправляете изменения. Например, команда:
git push origin master
отправит ваши сохраненные изменения в ветку master, в репозиторий с названием origin (у вас он, скорее всего, так и будет называться).
git merge — используется для слияния веток. Например, находясь в ветке master, вы можете влить в неё изменения из ветки dev с помощью команды:
git merge dev
git pull — скачать изменения с сервера и применить их к вашему локальному репозиторию через слияние с вашими изменениями.
Например, команда
git pull origin master
Скачает изменения ветки master с сервера и применит команду git merge master к той ветке, в которой вы находитесь.
git fetch — получить обновления с сервера без слияния с вашим рабочим пространством.
git branch — подскажет, на какой ветке вы находитесь.
git checkout — сменить текущую ветку на другую. В том числе и на новую.
Для перехода на существующую ветку мы просто добавляем её имя. Например, перейти на уже существующую ветку dev можно с помощью команды:
git checkout dev
А если ветки dev ещё не существует, можно создать её командой
git checkout -b dev
После создания ветки dev этой командой вы переключитесь на неё автоматически.
git log — список коммитов, от самого последнего к самому первому
git diff — показывает различия в файлах между ветками.
Можно смотреть разницу всех файлов сразу, например:
git diff master
покажет различия всех файлов вашей ветки от ветки мастер, если эти различия есть.
git diff master package.json
покажет разницу только в файле package.json
git diff --stat master
Покажет не содержимое, в только список различающихся файлов, и количество различий в каждом из них.
git stash — отложить несохранённые изменения, чтобы вернуться к «чистому» состоянию репозитория, и вернуться к вашим изменениям позже.
git stash save "ой недоделал потом доделаю"
Сохранит ваше текущее состояние в отдельное хранилище, откуда его можно будет вернуть позже через команду
git stash pop
А с помощью команды
git stash list
Можно посмотреть список ваших «отложенных» изменений и их идентификаторы, они будут выглядеть как stash@{номер}. По этому идентификатору снова восстановить нужное вам рабочее состояние:
git stash pop stash@{2}
git config — не забудьте указать ваше имя и почту, чтобы ваши коммиты корректно отображались в репозитории:
git config --global user.name "Anton Nepsha"
и
git config --global user.email anton@example.com
Можно без --global, тогда настройка применится только к текущему репозиторию. И потом вы будете всегда забывать указывать это, прям как я))