23 команды Git, которые должен знать каждый разработчик


Перед вами небольшая статья-шпаргалка,  которая включает в себя команды удобные, но не всем знакомые команды 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 позволяет применить ранее отложенные изменения.



Полезный материал?
0
0
автор: Андрей Огурчиков
опубликовано: 04.08.2022
Читайте нас: 
Последние статьи
Вверх!