Вашему вниманию представлен проект GiT для файлов на С++!
Приложение позволяет создавать копию всех файлов, находящихся в папке, в которую зайдёт пользователь. Для лучшей ориентации пользователя в файловой системе вверху приложения реализована строка с текущим путём и последней папкой с резервной копией.
Приложение даёт возможность перемещаться по файловой системе по аналогии с проводником Windows. Если вы хотите зайти в папку, достаточно двойного клика. Чтобы выйти на "уровень" выше - нажмите на две точки. Чтобы выйти в корневую папку со всеми дисками в системе - нажмите на 1 точку.
Когда вы зашли в ту папку, состояние файлов которой хотели бы сохранить, вам необходимо создать первое отслеживание -> "Создать отслеживание".
В случае, если вы нажмёте "Выбрать отслеживание" или "Удалить отслеживание" программа выдаст ошибку: "Отсутствует папка резервного копирования!".
После того, как копии файлов успешно создадутся, вы сможете их найти в папке .copy. Отслеживания создаются в папках с названиями "Commit from ...", где вместо троеточия подставляется текущая дата и время резервного копирования.
Так выглядит папка резервной копии
В случае, если вы хотите восстановить файлы в корневой папке из какого-либо отслеживания, вам необходимо зайти в данную папку и нажать "Выбрать отслеживание". В таком случае все файлы из данной папки будут скопированы в исходную с удалением всех находящихся там файлов! Поэтому в случае, если вы хотите сохранить какие-либо файлы исходной папки, лучше сделать дополнительное отслеживание!
В случае, если вы хотите удалить какое-либо отслеживание, то вам также нужно зайти в ту папку, которую вы хотите удалить и нажать "Удалить отслеживание". В таком случае папка с текущим отслеживанием будет удалена.
Данная программа позволяет делать резервные копии файлов практически всех расширений, даже специфичных для определённых программ (Например, .dwg для Autocad).
Готовую программу вы сможете найти в папке release.
Я разрабатывал данный проект на языке С++. Идея проекта возникла у меня, когда будучи на работе, мне приходилось постоянно менять какие-либо файлы в проекте и в некоторых случаях откатывать эти изменения назад. Тогда-то мне и пришла мысль, что было бы здорово разработать такую программу, которая позволяла бы склонировать текущее состояние проекта в один клик. В целом, думаю, у меня получлось достичь той цели, которую я сам себе задал :)
На данный момент я изучил Java и являюсь начинающим разработчиком в активном поиске работы именно на ней. Но, надеюсь, в будущем я вернусь к С++, т.к. этот язык достаточно интересный!
Данный проект был выполнен на С++ с применением QT-функционала версии 5.12.12.