Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
1d385b6
docs: add PR template
kicchhi Jun 10, 2026
0a5300c
docs: добавить шаблон PR
kicchhi Jun 10, 2026
3eb7af2
docs(lab1): finish submission
kicchhi Jun 10, 2026
726a402
test: unsigned commit (should fail)
kicchhi Jun 10, 2026
36a135a
docs(lab1): final changes - bonus task and screenshots
kicchhi Jun 10, 2026
7e3105c
docs: upstream moved while you worked
kicchhi Jun 10, 2026
4b49189
docs: upstream moved while you worked
kicchhi Jun 10, 2026
3d6803b
wip(lab2): start
kicchhi Jun 10, 2026
1d5ca21
Delete submissions/image-1.png
kicchhi Jun 10, 2026
aa6b7f7
Delete submissions/image-10.png
kicchhi Jun 10, 2026
4a67427
Delete submissions/image-11.png
kicchhi Jun 10, 2026
4018a1d
Delete submissions/image-12.png
kicchhi Jun 10, 2026
81858fb
Delete submissions/image-5.png
kicchhi Jun 10, 2026
b2b40d3
Delete submissions/image-13.png
kicchhi Jun 10, 2026
e5f2110
Delete submissions/image-14.png
kicchhi Jun 10, 2026
b432a67
Delete submissions/image-15.png
kicchhi Jun 10, 2026
5b3f11d
Delete submissions/image-17.png
kicchhi Jun 10, 2026
b4ea774
Delete submissions/image-2.png
kicchhi Jun 10, 2026
a922f4e
Delete submissions/image-7.png
kicchhi Jun 10, 2026
0642132
Delete submissions/lab2.md
kicchhi Jun 10, 2026
140d5fc
Delete submissions/image-16.png
kicchhi Jun 10, 2026
4a853b5
Delete submissions/image-20.png
kicchhi Jun 10, 2026
485ae1a
Delete submissions/image-18.png
kicchhi Jun 10, 2026
58f27ee
Delete submissions/image-19.png
kicchhi Jun 10, 2026
e450549
Delete submissions/image-21.png
kicchhi Jun 10, 2026
f79d84f
Delete submissions/image-22.png
kicchhi Jun 10, 2026
c967b4e
Delete submissions/image-3.png
kicchhi Jun 10, 2026
31ae950
Delete submissions/image-4.png
kicchhi Jun 10, 2026
b0b16a8
Delete submissions/image-6.png
kicchhi Jun 10, 2026
b91bc17
Delete submissions/image-8.png
kicchhi Jun 10, 2026
d062dba
Delete submissions/image-9.png
kicchhi Jun 10, 2026
41e19ae
Delete submissions/image.png
kicchhi Jun 10, 2026
5021909
Delete submissions/lab1.md
kicchhi Jun 10, 2026
7fc13fc
Create lab2.md
kicchhi Jun 10, 2026
d4e4472
Add files via upload
kicchhi Jun 10, 2026
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
16 changes: 16 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Goal
Выполнение Lab 1

## Changes
- submissions/lab1.md
- .github/pull_request_template.md
- SSH signing configured

## Testing
- go run ./app
- curl http://localhost:8080/health

## Checklist
- [x] Title is a clear sentence
- [x] Commits are signed
- [x] submissions/lab1.md updated
Binary file added submissions/image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-17.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-18.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-19.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-20.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-21.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-22.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-23.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-24.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-25.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-26.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added submissions/image-9.png
Binary file added submissions/image.png
131 changes: 131 additions & 0 deletions submissions/lab2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Lab2
Фролова Анастасия Ивановна, M25-RO-01
a.frolova@innopolis.university

## 1.1

Ниже представлены скриншоты запускаемых команд.

![alt text](image.png)

![alt text](image-1.png)

## 1.2

![alt text](image-4.png)

В папке `.git/` хранится вся история репозитория. Здесь видим
- HEAD (указатель на текущую ветку);
- config (настройки);
- objects/ (все объекты Git);
- refs/ (ссылки на ветки и теги);
- index (стейджинг-область);
- hooks/ (скрипты-обработчики событий).

![alt text](image-5.png)

HEAD указывает на ветку `main` — это значит, чт мы сейчас на ветке main.

В папке `refs/heads/` лежат файлы всех локальных веток. Каждый файл содержит SHA последнего коммита в этой ветке. Здесь видим ветку `main` и папку `feature/`.

![alt text](image-6.png)

В `objects/` объекты Git хранятся в подпапках по первым двум символам SHA-хеша. Это сделано для оптимизации — файловая система быстрее работает, когда в одной папке не слишком много файлов. Каждый объект — это blob (содержимое файла), tree (директория) или commit.

![alt text](image-7.png)

В репозитории 67 loose-объектов (несжатых).

## 1.3 Моделирование чрезвычайной ситуации + восстановление

![alt text](image-8.png)

![alt text](image-9.png)

История коммитов до сброса:

![alt text](image-10.png)

Коммиты после сброса:

![alt text](image-11.png)

`git reflog`

![alt text](image-12.png)

Восстанавливаем коммит:
![alt text](image-13.png)

Проверяем, что коммит восстановился:

![alt text](image-14.png)

> Вопрос: что произойдет, если git gc выполнится между неудачным сбросом и восстановлением?

> Ответ: Если выполится git gc (сборщик мусора), потерянные коммиты будут безвозвратно удалены. Git gc удаляет недостижимые объекты, которые недостижимы (на них нет ссылок из веток или тегов). Поэтому случайно удаленные коммиты необходимо восстанавливать как можно быстрее.

---

## Task2. Отметьте релиз и перебазируйте фичу

### 2.1 Аннотированный релиз с подписью

![alt text](image-15.png)

Проверяем, что тег аннотирован и подписан

![alt text](image-16.png)
![alt text](image-17.png)

### 2.2: Rebase + force-with-lease

Моделирование "движения вверх по течению" (не знаю корректный перевод или нет)

![alt text](image-18.png)

Сделала коммит в main, затем создала временную ветку от main. В ней сделала коммит. Затем сравниваю логи до и после rebase.

Логи до и после:

![alt text](image-22.png)

### 2.3

> Вопрос: когда выбирать merge, а когда rebase.

> Ответ: Merge используется, когда важно сохранить историю ветвления и не переписывать коммиты. Rebase - для локальных веток перед PR, переписывает коммиты, и получается линейная история. Поэтому нельзя использовать rebase для веток, на которые уже кто-то ссылается.

## 3. Бонусное задание

### 3.1 Bisect вручную

Вручную выполняю bisect

![alt text](image-19.png)

Тест провалился:

![alt text](image-20.png)

Поправляем:

![alt text](image-21.png)
![alt text](image-23.png)

Логи:

![alt text](image-24.png)
### 3.2 Автоматизация процесса

`git bisect run sh -c 'cd app && go test ./... && go build ./...'`

![alt text](image-25.png)

> Вопрос: как bisect нашел его за log₂(N) шагов?

> Ответ: bisect использует бинарный поиск, между хорошим и плохим выбирет коммит в середине, и проверяет его, следовательно, за log₂(N) шагов найдется первый плохой коммит.

Еще раз полный лог:

![alt text](image-26.png)