Перед вами небольшая статья-шпаргалка, которая включает в себя команды удобные, но не всем знакомые команды Git, которые могут стать вашими постоянными спутниками в разработке.
Вести разработку, кстати, удобно в нашем кластере Kubernetes.
1. git init
Эта команда используется для инициализации проекта как репозитория git.
2. git clone <url> <directory>
Эта команда клонирует репозиторий в новую директорию.
git config
— это удобная функция, которая используется для настройки значений конфигурации Git на глобальном и локальном уровнях проекта. Примеры команд:
git config --local user.name "Name"
git config --local user.email "your_email@example.com"
git config --global user.name "Name"
git config --global user.email "your_email@example.com"
Если надо скопировать только файлы:
git clone --depth=1 git://someserver/somerepo dirformynewrepo
rm -rf !$/.git
3. git remote add <repository> <url>
Пример: git remote add origin https://github.com/MrKrishnaAgarwal/Git-CheatSheet.git
Эта команда используется для добавления или подключения к удаленному репозиторию.
4. git remote -v
Эта команда используется для просмотра подключенных удаленных репозиториев.
5. git status
Эта команда используется для просмотра статуса файлов в вашем локальном репозитории. Отслеживаются ли файлы? Не отслеживается? Изменены ли они?
6. git add
Пример: git add index.html
git add index.html style.css
style.scss
Эта команда переносит все новые и измененные файлы в раздел проиндексированных файлов
git add -A
Эта команда используется для индексирования ВСЕХ неустановленных файлов.
git add <filename>
для конкретного файла
7. git reset
Эта команда используется для мягкой или жёсткой отмены изменений, позволяет сбросить состояние проекта до нужного коммита. Например.
отмена неотправленного коммита: git reset --hard HEAD^
отмена отправленного коммита ( возврат к состояние коммита 7880ae2 )
git reset --hard f7880ae2
git push origin -f
8. git commit
Эта команда совершает коммит — «закрепляет» промежуточные результаты.
git commit -m “Text message”
Пример: git commit -m "added navigation bar"
Команда -m
позволяет указать commit message без обращения к редактору
git commit --amend
Команда --amend
вносит в предыдущий коммит изменения, которые подготовлены к коммиту. Используется и для редактирования предыдущего commit message, если в нём допущены ошибки.
9. git push -u origin
Ключ -u
(полный вариант --set-upstream
) создаёт в удалённом репозитории ветку, соответствующую локальной и связывает их.
git push <repository> <branch>
Пример: git push -u origin master
Эта команда используется для отправки закоммиченных файлов в удаленный репозиторий (также известный как GitHub) в указанной ветке. Используйте эту команду, когда вы впервые отправляете файлы в удаленный репозиторий. Он зафиксирует место, куда вы отправляете эти файлы. И в следующий раз можно будет использовать команду git push.
10. git fetch <repository> <branch>
Эта команда используется для получения самой последней версии вашего локального репозитория. Загружает коммиты, файлы и ссылки из удаленного репозитория в ваш локальный репозиторий.
11. git pull
Эта команда используется для извлечения только что полученной информации и ее загрузки в локальный репозиторий. git pull запускает немедленное обновление локального репозитория.
12. git branch Эта команда используется для создания, просмотра переименования и удаления ветки, на которой вы сейчас находитесь.
git branch -a
Эта команда используется для предварительного просмотра всех веток в удаленном репозитории.
git branch -r
Эта команда используется для предварительного просмотра всех веток на сервере.
13. git checkout
Пример: git checkout master
или git checkout develop
Эта команда используется для переключения на ветки, которые вы уже посещали ранее.
git checkout <file>
— ещё один вариант использования
14. git merge
Эта команда используется для объединения двух веток. Для этого укажите ветку, которую вы хотите унаследовать изменения. И имя ветки, которое вы будете использовать вместе с этой командой, — это ветка, которая предоставит изменения.
Пример: git merge develop
Здесь основная ветка наследует код из ветки разработки.
15. git merge — abort
Эта команда используется для отмены слияния.
Если нет ошибок, слияния будут успешными. Следовательно, это прерывание можно использовать только в ситуациях, когда слияние не удалось. Как понять, что нужно использовать эту команду? Ваш терминал скажет, что слияние не удалось. Он также может предложить вам исправить конфликты слияния.
Вот ещё один признак: ~/NextCloud/Documents/Web Projects/Cloud4Y (master)
Посмотрите в самый конец строки. В скобках написано (master). Это потому, что мы находимся в основной ветке. Если вы находитесь в ветке разработки, это будет означать (develop). Если смерджить не получилось, появится надпись (master|merging) или что-то в этом роде.
git merge -X theirs
Пример: git merge -X theirs develop
Эта команда используется для объединения двух веток. И если есть конфликты слияния, эта команда просто предположит, что вы предпочитаете изменения, сделанные в указанной ветке (а не в текущей).
16. git reset — hard HEAD
Эта команда удалит все изменения, внесенные вами в ваш локальный репозиторий, и обновит его до последней версии, которая была закоммичена на GitHub.
17. git reset HEAD^
Эта команда перемещает текущую ветку назад на два коммита, эффективно удаляя два снапшота, которые мы только что создали, из истории проекта. Он отменяет случайное закоммичивание и сохраняет изменения.
18. git clean -f
Эта команда используется для удаления неотслеживаемых файлов из вашего локального репозитория.
git clean -d
Эта команда используется для удаления неотслеживаемых директорий в вашем локальном репозитории. Вы также можете объединить его с git clean -fd, чтобы сделать и то, и другое.
19. git rm -r — cached
Пример: git rm -r --cached config.js
Эта команда используется для удаления файла из удаленного репозитория (GitHub), не удаляя его в локальном репозитории.
20. git bisect
Эта команда используется для обнаружения коммита, вызвавшего ошибку в коде. Так проще отследить коммит, где код работает и выявить проблемный коммит.
21. git diff
git diff <file>
— частое использование
Эта команда используется сравнения изменений.
22. git rebase
Полезно, если вы работали с веткой, но затем вам нужно объединить изменения, сделанные в этой ветке, с другой. С помощью git rebase вы можете «переместить» свою ветку поверх последней версии. Это также полезно, если команда следует общепринятым соглашениям о коммитах, таким как объединение коммитов вместе или разделение «больших» коммитов на «меньшие». Это используется в основном для «реорганизации» ваших коммитов.
git rebase -i HEAD~N
Склеить коммиты, переписав историю с момента HEAD~N, т.е. с того, что было N коммитов назад. -i — означает в интерактивном режиме.
23. git stash
Эта команда используется для сохранения неподтверждённых изменений в отдельном хранилище, чтобы можно было вернуться к ним позже. Сами файлы возвращаются к исходному состоянию. Команда полезна, когда вы работаете над одной веткой, хотите переключиться на другую, но вы ещё не готовы сделать коммит в текущей ветке. Таким образом, вы прячете изменения в коде, переключаетесь на другую ветку, возвращаетесь к исходной ветке, а затем разархивируете свои изменения.
git stash pop
позволяет применить ранее отложенные изменения.