Skip to content

[TASK] git #22 (https://github.com/SENATOROVAI/docs/issues/22) #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 140 additions & 0 deletions git.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\"\"\" Знакомство с командами git.\n",
"\n",
"Конспект по базовым командам git с их описанием.\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Базовые команды git. \n",
"\n",
"- `git --version` - команда для проверки версии Git. \n",
"- `git init` - для инициализации нового репозитория локально. \n",
"- `git clone` - клонирование удаленного репозитория, чтобы сделать его локальным. \n",
"- `git add` - команда для добавления файлов. сама по себе `git add` ничего не добавит (то есть не сделает ни один из файлов отслеживаемым) и в терминале выйдет сообщение: Nothing specified, nothing added. Возможные варианты ввода этой команды: \n",
" - `git add <file>` - добавляет один или несколько файлов через пробел; \n",
" - `git add *.py` - добавляет все файлы с расширением .py (расширение файла может быть изменено на другое); \n",
" - `git add .` - добавляет все файлы файлы из директории из последующего коммита. \n",
"- `git commit -m 'commit_message'` - сохранение изменений. Сообщение в кавычках 'commit_message' должно отражать вносимые изменения, чтобы при необходимости отката можно было понять, какие изменения были добавлены на каждом шаге. \n",
"- `git commit -am 'commit_message'` - добавить и сохранить изменения. \n",
"- `git commit --ammend -m 'commit_message'` - изменяет сообщение последнего коммита, если в нем например была допущена ошибка. \n",
"- `git status` - для просмотра текущего статуса репозитория и состояния его файлов. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Настройка имени пользователя и адреса новой почты командой **git config**. \n",
"\n",
"### Это необходимо для того, чтобы в наши коммиты включалась информация об авторе. \n",
"- `git config --global user.name 'YOUR_NAME'` - для установки имени. Вместо YOUR_NAME вводим свое. \n",
"- `git config --global user.email your_mail@gmail.com` - для установки почты. Вместо your_mail@gmail.com вводим свою почту. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Просмотр изменений перед коммитом.\n",
"\n",
"- `git diff` - показывает различия между рабочей копией кода и последний сохраненным кодом. \n",
"- `git diff <файл>` - показывает изменения в конкретном файле. \n",
"- `git difftool` - для просмотра изменений в графическом интерфейсе. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Просмотр журнала коммитов. \n",
"\n",
"- `git log` - выводит список всех коммитов.\n",
"- `git log --oneline` - выводит все коммиты в одну строку в сокращенном варианте: вместо 40 шестнадцатиричных цифр хэша коммита выводит только 7 и рядом первую строку коммита.\n",
"- `git log --oneline -n 3` - выводит 3 последних коммита в сокращенном виде. Число может быть другое, в зависимости от того, сколько последних коммитов мы хотим вывести. \n",
"- `git show <хэш_коммита>:<файл>` - выводит содержимое файла на момент конкретного коммита. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Удаление файла из репозитория. \n",
"\n",
"- `git rm <файл>` - удаляет сохраненный файл из репозитория и индексирует его. В файле не должно быть никаких изменений. Удаление файла после этого необходимо закрепить командой git commit. Файл можно будет восстановить. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Переименовывание и перемещение файла. \n",
"\n",
"- `git mv <старый_файл> <новый_файл>` - команда позволяет переименовать файл, перенести его в другую папку и совместить эти два действия вместе. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Отмена изменений. \n",
"\n",
"### Отмена сохраненных изменений.\n",
"\n",
"- `git reset HEAD <файл>` - отмена сохраненных, но не закоммиченных изменений. Последние изменения останутся в файле локально, но файл будет убран из индекса. Таким образом можно будет внести дополнительные изменения в этот файл и подготовить его к повторному коммиту. \n",
"\n",
"### Отмена несохраненных изменений. \n",
"\n",
"- `git restore <файл>` - отменяет несохраненные локальные изменений в файле, то есть откатываем файл к версии последнего коммита. \n",
"- `git restore --staged <файл>` - исключает сохраненный с помощью git add файл из индексированного состояния, чтобы он не был включен в последний коммит. \n",
"\n",
"### Отмена последних коммитов. \n",
"\n",
"- `git revert -n HEAD~3..HEAD` - отменяет 3 последних коммита (можно подставить нужное нам число). Потом нужно ввести git add и git commit, чтобы сохранить изменения. \n",
"\n",
"### Возврат к конкретному коммиту для определенного файла. \n",
"\n",
"- `git checkout <хэш> -- <файл> ` - возвращает содержимое файла к конкретному коммиту. Потом нужно ввести git add и git commit, чтобы сохранить изменения. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Работа с GitHub. \n",
"\n",
"- `git remote add origin https://github.com/<пользователь_github>/<repository_name>` - отправляет существующий репозиторий на GitHub. \n",
"- `git push -u origin master` - первая отправка локальных изменений на GitHub. \n",
"- `git push` - используется для последующей отправки изменений.\n",
"- `git clone <github_repository_url>` - клонирование репозитория с GitHub на локальный компьютер. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Дополнительные команды\n",
"\n",
"- `git help <command>` или `git <command> --help` - получение справки по определенной команде. Вывод справки не в терминале, перебрасывает на сайт. \n",
"- `git ls-files --other --ignored --exclude-standard` - покажет игнорируемые файлы. "
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Comment on lines +1 to +140
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

сделай ревью, пожалуйста