I've been working on a project since a few years ago. Even though that project is still working well, but its logic and base forms need a huge change. A lot of improvements are needed for the project and that's why I decided to recreate that project and start from scratch. I'm using Git to manage my project.
Is it normal to create a new branch (like "re-creation"), then remove all stuff and start rebuilding the project and merge it back to the main/master branch? I think it works, but not sure about the concept because branches are mostly used for creating new features or fixing issues, not to rebuilding the entire project.
My main concern about improving the current project and avoiding rebuilding it is that there are no tests at all and Dirty Codes everywhere.
I feel like you need to deal with two things:
You can create a fork of your own local repo. The idea is so you can start working on a copy of an existing repo, starting at the point of the fork, then make your own changes independent of the work being done on the original repo.
I started a sample repo here:
/c/code/testing
# created a new folder
git@local testing
$ mkdir repoA
$ cd repoA
# in that folder
git@local repoA
$ git status
fatal: not a git repository (or any of the parent directories): .git
# create new repo
git@local repoA
$ git init
Initialized empty Git repository in C:/code/testing/repoA/.git/
# check status
git@local repoA (main)
$ git status
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)
# go back to parent folder
git@local repoA (main)
$ cd ../
git@local testing
$ ls -l
total 0
drwxr-xr-x 1 adrian.moreno 197121 0 Nov 3 17:04 repoA/
# clone (fork) my local repo to a new one.
git@local testing
$ git clone repoA repoB
Cloning into 'repoB'...
warning: You appear to have cloned an empty repository.
done.
# Now I have two repos.
# repoA is forked from the last commit on repoA.
git@local testing
$ ls -l
total 0
drwxr-xr-x 1 adrian.moreno 197121 0 Nov 3 17:04 repoA/
drwxr-xr-x 1 adrian.moreno 197121 0 Nov 3 17:04 repoB/
It may be the case that you don't need to ever pursue the 2nd step. You may just get everything done on the forked version and run with that.