Git: Основные команды

Перед вами небольшая статья-шпаргалка, которая включает в себя команды удобные, но не всем знакомые команды Git, которые могут стать вашими постоянными спутниками в разработке.

1. git init

Эта команда используется для инициализации проекта как репозитория git.

2. git clone

Эта команда клонирует репозиторий в новую директорию.

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

Пример:

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

Эта команда переносит все новые и измененные файлы в раздел проиндексированных файлов

git add -A

Эта команда используется для индексирования ВСЕХ неустановленных файлов.

git add

для конкретного файла

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

Пример:

git push -u origin master

Эта команда используется для отправки закоммиченных файлов в удаленный репозиторий (также известный как GitHub) в указанной ветке. Используйте эту команду, когда вы впервые отправляете файлы в удаленный репозиторий. Он зафиксирует место, куда вы отправляете эти файлы. И в следующий раз можно будет использовать команду git push.

10. git fetch

Эта команда используется для получения самой последней версии вашего локального репозитория. Загружает коммиты, файлы и ссылки из удаленного репозитория в ваш локальный репозиторий.

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

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

Эта команда используется для удаления файла из удаленного репозитория (GitHub), не удаляя его в локальном репозитории.

Пример:

git rm -r --cached config.js

20. git bisect

Эта команда используется для обнаружения коммита, вызвавшего ошибку в коде. Так проще отследить коммит, где код работает и выявить проблемный коммит.

21. git diff

Эта команда используется сравнения изменений.

частое использование:

git diff

22. git rebase

Полезно, если вы работали с веткой, но затем вам нужно объединить изменения, сделанные в этой ветке, с другой. С помощью git rebase вы можете «переместить» свою ветку поверх последней версии. Это также полезно, если команда следует общепринятым соглашениям о коммитах, таким как объединение коммитов вместе или разделение «больших» коммитов на «меньшие». Это используется в основном для «реорганизации» ваших коммитов.

git rebase -i HEAD~N

Склеить коммиты, переписав историю с момента HEAD~N, т.е. с того, что было N коммитов назад. -i — означает в интерактивном режиме.

23. git stash

Эта команда используется для сохранения неподтверждённых изменений в отдельном хранилище, чтобы можно было вернуться к ним позже. Сами файлы возвращаются к исходному состоянию. Команда полезна, когда вы работаете над одной веткой, хотите переключиться на другую, но вы ещё не готовы сделать коммит в текущей ветке. Таким образом, вы прячете изменения в коде, переключаетесь на другую ветку, возвращаетесь к исходной ветке, а затем разархивируете свои изменения.

позволяет применить ранее отложенные изменения:

git stash pop