====== 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