Skip to content

[TASK] git #1 (https://github.com/SENATOROVAI/intro-cs/issues/1) #11

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
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
Binary file added __pycache__/code_1.cpython-310.pyc
Binary file not shown.
40 changes: 40 additions & 0 deletions code_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
def round_value(x):
"""Round value.

Args:
x (float): value

Returns:
float: result
"""
return round(x, 2)


def generateReport(x_list):
"""Generate report. Define whether x in list >= 0.

Args:
x_list (list): list of x value. type: float

Returns:
list: result
"""
report = []

for i in range(0, len(x_list)):
x = x_list[i]

result = False
if x >= 0:
result = True
report.append(result)

return report


if __name__ == "__main__":
print(str(round_value(100.2345)))

x_list = [-1, 1]
report = generateReport(x_list)
print(report)
57 changes: 57 additions & 0 deletions git.ipynb

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions git.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# ---
# jupyter:
# jupytext:
# formats: ipynb,py:light
# text_representation:
# extension: .py
# format_name: light
# format_version: '1.5'
# jupytext_version: 1.16.4
# ---

"""Шаг 2.

Git.
"""

# # 1. Про Git
#
# Git - система контроля версий файлов
#
# Функции:
# - создание репозиториев - хранилищ файлов
# - отслеживание изменений в файлах в локальном репо и серверном репо
# - склейка (сливание) изменений из 1 ветки в 2 ветку
#
# Команды основные:
# - `git init` создание репо
# - `git clone` взять репо из внешнего в локальный
# - `git add` добавить файл для будущего коммита (в индекс / staging area)
# - `git commit` добавляет файлы для коммита в локальный commit
# - `git push` добавляет из локального commit'а во внешний репо
# - `git pull` применяет изменения из внешнего репо в локальный репо
# - `git log` просмотр журнала коммитов
#
# # 2. Пройти курс основы командной строки на Hexlet
# ![image.png](attachment:image.png)
#
# # 3. Пройти курс Git на Hexlet
# ![image-2.png](attachment:image-2.png)
116 changes: 116 additions & 0 deletions git/stash.ipynb

Large diffs are not rendered by default.

89 changes: 89 additions & 0 deletions git/stash.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# ---
# jupyter:
# jupytext:
# formats: ipynb,py:light
# text_representation:
# extension: .py
# format_name: light
# format_version: '1.5'
# jupytext_version: 1.16.4
# ---

"""Шаг 3.

Git stash.
"""

# > 0.1 записать видео по stash
#
# https://youtu.be/D8i0bcnS_J4
#
# > Что делает команда git stash?
#
# Помещает все текущие файлы (и "проиндексированные" и нет) в stash
#
# > Как просмотреть список всех сохранённых изменений (стэшей)?
#
# `git stash list'
#
# > Какая команда применяется для использования верхнего стэша?
#
# `git stash pop'
#
# > Как применить конкретный стэш по его номеру?
#
# `git stash apply stash@{1}'
#
# > Чем отличается команда git stash apply от git stash pop?
#
# `git stash pop` применяет stash и удаляет из списка stash, `git stash apply` просто применяет
#
# > Что делает команда git stash drop?
#
# Удаляет stash
#
# > Как полностью очистить все сохранённые стэши?
#
# `git stash clear`
#
# > В каких случаях удобно использовать git stash?
#
# а) хочешь разделить изменения на несколько коммитов б) взять pull из 2 репо чтоб часть файлов не влияла на merge
#
# > Что произойдёт, если выполнить git stash pop, но в проекте есть конфликтующие изменения?
#
# Файлы из stash перепишут файлы где есть конфликт
#
# > Можно ли восстановить удалённый стэш после выполнения git stash drop?
#
# Нет
#
# > Что делает команда git stash save "NAME_STASH"
#
# сохраняет stash с названием
#
# > Что делает команда git stash apply "NUMBER_STASH"
#
# применяет stash с указанным номером
#
# > Что делает команда git stash pop "NUMBER_STASH"
#
# удаляет stash с указанным номером
#
# > Сохраните текущие изменения в стэш под названием "SENATOROV ver1", вставьте скриншот из терминала
#
# ![image.png](attachment:image.png)
#
# ![image-2.png](attachment:image-2.png)
#
# > Внесите любые изменения в ваш репозиторий и сохраните второй стэш под именем "SENATOROV ver2"
#
# ![image-3.png](attachment:image-3.png)
#
# > Восстановите ваш стэш "SENATOROV ver1", вставьте скриншот из терминала
#
# ![image-4.png](attachment:image-4.png)
#
# > Удалите все стеши из истории, вставьте скриншот из терминала
#
# ![image-5.png](attachment:image-5.png)
33 changes: 33 additions & 0 deletions python/commits.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\"\"\"Шаг 4. Git. commits\"\"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "plaintext"
}
},
"outputs": [],
"source": [
"> Опишите своими словами назначение каждого из этих типов коммитов:\n",
"feat, fix, docs, style, refactor, test, build, ci, perf, chore\n",
"\n"
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
21 changes: 21 additions & 0 deletions test_code_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import unittest

from code_1 import generateReport


class Test1(unittest.TestCase):

def test_1(self):
x_list = [
-1,
1
]
report = generateReport(x_list)

self.assertEqual(len(report), 2)
self.assertEqual(report[0], False)
self.assertEqual(report[1], True)


if __name__ == '__main__':
unittest.main()