在 git 中创建一个新分支以重新初始化整个项目

Creating a new branch for re-initializing the entire project in git

从几年前开始,我就一直在做一个项目。尽管该项目仍然运作良好,但其逻辑和基本形式需要进行巨大的改变。该项目需要进行大量改进,这就是为什么我决定重新创建该项目并从头开始的原因。我正在使用 Git 来管理我的项目。

创建一个新分支(如“重新创建”),然后删除所有内容并开始重建项目并将其合并回 main/master 分支是否正常?我认为它可行,但不确定这个概念,因为分支主要用于创建新功能或修复问题,而不是重建整个项目。

我对改进当前项目并避免重建它的主要担忧是根本没有测试,到处都是脏代码。

我觉得你需要处理两件事:

  1. 。这将是一个具有新“起点”的副本。

您可以创建自己的本地存储库的分支。这个想法是这样您就可以开始处理现有存储库的副本,从分叉点开始,然后独立于对原始存储库所做的工作进行自己的更改。

我在这里开始了一个样本回购:

/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/
  1. 准备好后,merge changes from your forked repo back to the parent

您可能永远不需要执行第 2 步。您可能只需在分叉版本上完成所有操作,然后 运行 就可以了。