ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02 $ mkdir alice // импортируем папку Алисы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02 $ mkdir bob // импортируем папку боба ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02 $ cd alice // переход на компьютер (каталог) Алисы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ mkdir project // импортируем каталог project ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ cd project // переход в каталог ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project $ cd .. // переход на уровень выше ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice $ cd project // переход в каталог project ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project $ git init // инициализируем репозитарий в текущем каталоге Initialized empty Git repository in C:/Users/ivanm/OneDrive/Рабочий стол/lab02/alice/project/.git/ ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (master) $ git branch -m main // меняем имя ветки ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ ls -A // смотрим где гит хранит хранит свои данные .git/ ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git config user.name 'Alice (IvanovIM)' // настроим репозитарий Алисы, чтобы коммиты были от ее имени ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git config user.email 'IvanovIvM@mpei.ru' ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ ls -A .git/ bin/ main.cpp obj/ project.cbp ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status // смотрим состояние рабочей копии On branch main // на ветке маин No commits yet // еще нет коммитов Untracked files: (use "git add ..." to include in what will be committed) bin/ main.cpp obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) // ничего не добавлено что бы коммитить, но присутствуют неотслеживаемые файлы (используйте "git add" для отслеживания) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add main.cpp // добавление файла в индекс, то есть в набор изменений, который войдет в очередной коммит. Начинаем отслеживать файл ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main No commits yet Changes to be committed: // Изменения, которые должны быть зафиксированы (use "git rm --cached ..." to unstage) new file: main.cpp Untracked files: // Неотслеживаемые файлы (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m 'code: заготовка программы' // сделаем коммит с кородким сообщением [main (root-commit) c266d31] code: заготовка программы 1 file changed, 9 insertions(+) create mode 100644 main.cpp ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit On branch main Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) // для фиксации ничего не добавлено, но присутствуют неотслеживаемые файлы (используйте "git add" для отслеживания) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ project.cbp nothing added to commit but untracked files present (use "git add" to track) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add project.cbp // добавляем файл project.cbp warning: in the working copy of 'project.cbp', LF will be replaced by CRLF the next time Git touches it ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main Changes to be committed: (use "git restore --staged ..." to unstage) new file: project.cbp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m 'build: добавлен файл проекта' // делаем коммит нового файла [main e1ae209] build: добавлен файл проекта 1 file changed, 40 insertions(+) create mode 100644 project.cbp ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status On branch main Changes not staged for commit: // Изменения, не подготовленные для фиксации (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: main.cpp Untracked files: (use "git add ..." to include in what will be committed) bin/ obj/ no changes added to commit (use "git add" and/or "git commit -a") // никаких изменений для фиксации не добавлено ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add main.cpp // выберем файл чьи изменения должны войти в коммит ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m "code: Вывод суммы" // коммитим [main d58e73f] code: Вывод суммы 1 file changed, 5 insertions(+), 1 deletion(-) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add main.cpp // выбираем файл ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m 'code: Вывод суммы и разности' // коммитим изменения [main 11b7e11] code: Вывод суммы и разности 1 file changed, 2 insertions(+), 1 deletion(-) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status // смотрим состояние рабочей копии On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore obj/ project.depend nothing added to commit but untracked files present (use "git add" to track) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git status // смотрим состояние рабочей копии On branch main Untracked files: (use "git add ..." to include in what will be committed) .gitignore project.depend nothing added to commit but untracked files present (use "git add" to track) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git add .gitignore ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git commit -m 'git: игнорирование каталогов' [main 773401d] git: игнорирование каталогов 1 file changed, 2 insertions(+) create mode 100644 .gitignore ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log // посмотрим журнал репозитария commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) Author: Alice (IvanovIM) Date: Tue Mar 5 23:52:02 2024 +0300 git: игнорирование каталогов commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности commit d58e73ff6e10f44afb946012d406ab690b5de4ec Author: Alice (IvanovIM) Date: Tue Mar 5 23:45:28 2024 +0300 code: Вывод суммы commit e1ae209bde86c5ba18e5faafadd7e4e2e52319eb Author: Alice (IvanovIM) Date: Tue Mar 5 23:42:22 2024 +0300 build: добавлен файл проекта commit c266d31d0b2759ddeca814017d3ca6801462dfac Author: Alice (IvanovIM) Date: Tue Mar 5 23:28:57 2024 +0300 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --stat // показывает файлы, измененные в коммитах commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) // хэш коммита Author: Alice (IvanovIM) // автор коммита Date: Tue Mar 5 23:52:02 2024 +0300 // дата и время git: игнорирование каталогов .gitignore | 2 ++ // две вставки 1 file changed, 2 insertions(+) // один файл изменен, две вставки commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit d58e73ff6e10f44afb946012d406ab690b5de4ec Author: Alice (IvanovIM) Date: Tue Mar 5 23:45:28 2024 +0300 code: Вывод суммы main.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit e1ae209bde86c5ba18e5faafadd7e4e2e52319eb Author: Alice (IvanovIM) Date: Tue Mar 5 23:42:22 2024 +0300 build: добавлен файл проекта project.cbp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit c266d31d0b2759ddeca814017d3ca6801462dfac Author: Alice (IvanovIM) Date: Tue Mar 5 23:28:57 2024 +0300 code: заготовка программы main.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate //показывает коммиты компактно, а также показывает ссылки, концы веток и тэги 773401d (HEAD -> main) git: игнорирование каталогов 11b7e11 code: Вывод суммы и разности d58e73f code: Вывод суммы e1ae209 build: добавлен файл проекта c266d31 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --oneline --decorate --all --graph //делает то же для всех веток, причем коммиты отображаются в терминале в виде дерева * 773401d (HEAD -> main) git: игнорирование каталогов * 11b7e11 code: Вывод суммы и разности * d58e73f code: Вывод суммы * e1ae209 build: добавлен файл проекта * c266d31 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log -- main.cpp // показывает затрагивающие main.cpp commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности commit d58e73ff6e10f44afb946012d406ab690b5de4ec Author: Alice (IvanovIM) Date: Tue Mar 5 23:45:28 2024 +0300 code: Вывод суммы commit c266d31d0b2759ddeca814017d3ca6801462dfac Author: Alice (IvanovIM) Date: Tue Mar 5 23:28:57 2024 +0300 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --grep "code:" // показывает коммиты с code: в сообщении commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности commit d58e73ff6e10f44afb946012d406ab690b5de4ec Author: Alice (IvanovIM) Date: Tue Mar 5 23:45:28 2024 +0300 code: Вывод суммы commit c266d31d0b2759ddeca814017d3ca6801462dfac Author: Alice (IvanovIM) Date: Tue Mar 5 23:28:57 2024 +0300 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log --grep "build:" // коммиты по теме build commit e1ae209bde86c5ba18e5faafadd7e4e2e52319eb Author: Alice (IvanovIM) Date: Tue Mar 5 23:42:22 2024 +0300 build: добавлен файл проекта ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git log -- project.cbp // коммиты, затрагивающие project.cbp commit e1ae209bde86c5ba18e5faafadd7e4e2e52319eb Author: Alice (IvanovIM) Date: Tue Mar 5 23:42:22 2024 +0300 build: добавлен файл проекта ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show HEAD // текущий коммит commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) Author: Alice (IvanovIM) Date: Tue Mar 5 23:52:02 2024 +0300 git: игнорирование каталогов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show main // коммит по имени ветви commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) Author: Alice (IvanovIM) Date: Tue Mar 5 23:52:02 2024 +0300 git: игнорирование каталогов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show 773401dc9 // коммит по хэшу commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) Author: Alice (IvanovIM) Date: Tue Mar 5 23:52:02 2024 +0300 git: игнорирование каталогов diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show HEAD~1 // просмотр предыдущего коммита commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 // хэш коммита Author: Alice (IvanovIM) // автор Date: Tue Mar 5 23:47:20 2024 +0300 // дата и время code: Вывод суммы и разности // коментарий к коммиту diff --git a/main.cpp b/main.cpp // просмотр различий между коммитами index dec99f2..0b16bab 100644 // индекс --- a/main.cpp // заголовок +++ b/main.cpp // заголовок @@ -7,7 +7,8 @@ int main() // Изменение места, изменения в файле, измененная функция cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; // удаленная сторка + cout << "A + B = " << a + b << '\n' // добавленная строка + << "A - B = " << a - b << '\n'; // добавленная строка return 0; } // контекст ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show main~1 // предпоследний коммит commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности diff --git a/main.cpp b/main.cpp index dec99f2..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,8 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; return 0; } ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git show 11b7e11685e2 commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности diff --git a/main.cpp b/main.cpp index dec99f2..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,8 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; return 0; } ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff // просмотр изменений в рабочей копии diff --git a/main.cpp b/main.cpp // Просмотр различий между версиями index 0b16bab..16a8731 100644 --- a/main.cpp +++ b/main.cpp @@ -8,7 +8,8 @@ int main() // обозначение места изменений в файле, измененная функция int int a, b; cin >> a >> b; cout << "A + B = " << a + b << '\n' - << "A - B = " << a - b << '\n'; // удаленная строка + << "A - B = " << a - b << '\n' // добавленная строка + << "A * B = " << a * b << '\n'; // добавленная строка return 0; } ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff HEAD~2 // показ изменений от указанного коммита до последнего diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index dec99f2..16a8731 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,9 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n' + << "A * B = " << a * b << '\n'; return 0; } ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff HEAD~2 HEAD // показывает разницу между указанными коммитами diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c7473d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/bin +/obj diff --git a/main.cpp b/main.cpp index dec99f2..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,8 @@ int main() cout << "Enter A and B: "; int a, b; cin >> a >> b; - cout << "A + B = " << a + b << '\n'; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; return 0; } $ git log commit 773401dc93616c283566cb27d65755421647e7de (HEAD -> main) Author: Alice (IvanovIM) Date: Tue Mar 5 23:52:02 2024 +0300 git: игнорирование каталогов commit 11b7e11685e2eb8ed504d3968a2834a5a9537fc4 Author: Alice (IvanovIM) Date: Tue Mar 5 23:47:20 2024 +0300 code: Вывод суммы и разности commit d58e73ff6e10f44afb946012d406ab690b5de4ec Author: Alice (IvanovIM) Date: Tue Mar 5 23:45:28 2024 +0300 code: Вывод суммы commit e1ae209bde86c5ba18e5faafadd7e4e2e52319eb Author: Alice (IvanovIM) Date: Tue Mar 5 23:42:22 2024 +0300 build: добавлен файл проекта commit c266d31d0b2759ddeca814017d3ca6801462dfac Author: Alice (IvanovIM) Date: Tue Mar 5 23:28:57 2024 +0300 code: заготовка программы ivanm@LAPTOP-54AHA1CP MINGW64 ~/OneDrive/Рабочий стол/lab02/alice/project (main) $ git diff c266d31d0b 11b7e11685 // смотрю разницу между двумя коммитами по хэшу diff --git a/main.cpp b/main.cpp index b4392ec..0b16bab 100644 --- a/main.cpp +++ b/main.cpp @@ -4,6 +4,11 @@ using namespace std; int main() { - cout << "Hello world!" << endl; + cout << "Enter A and B: "; + int a, b; + cin >> a >> b; + cout << "A + B = " << a + b << '\n' + << "A - B = " << a - b << '\n'; + return 0; } diff --git a/project.cbp b/project.cbp new file mode 100644 index 0000000..99bb702 --- /dev/null +++ b/project.cbp @@ -0,0 +1,40 @@ + + + + +