Gitlab如何移除旧版本提交记录?

5

我从GitLab克隆了一个仓库。没有删除.git文件夹,我已经编辑了克隆的项目并提交了某些更改。现在我的GitLab上有旧的提交和我的提交。是否有办法删除旧的提交并只保留我的提交呢?谢谢。


为什么要删除旧的提交记录?你可以尝试使用浅克隆,只将历史记录带入到某个点。 - Tim Biegeleisen
请更清楚地解释“worked and edited”。您是指重写历史记录吗? - merlin2011
克隆的代码库是由别人完成的,因此提交记录中包含了他的提交记录。但是,在克隆完成后,我应该创建一个新的代码库,并将克隆的项目推送到新的代码库上然后开始工作。但在推送到新的代码库之前,我没有删除 .git 文件夹,这样新的代码库提交记录就会包含我的提交和旧代码库的提交。我只需要保留我的提交记录。希望这样清楚易懂,谢谢。 - Ansplz
如果我删除.git文件夹并从头开始像git init一样...那么我在新存储库中完成的新提交将被删除,对吗? - Ansplz
1个回答

3

您可以创建一个新的空仓库,并仅从当前(混合)仓库中导入您的新提交。

cd /another/local/path/aNewFolder
git init .
git remote add mixtedRepo /path/to/mixted/repo
git fetch mixtedRepo

到目前为止,你的新仓库是空的,并且其中有一个 mixtedRepo/master 远程分支(包含旧的和新的提交)。

让我们先确保你有一个本地的主分支:

git commit --allow-empty -m "master branch"

然后,让我们将你在旧存储库中的提交变基到你孤独的空提交上:
git rebase --onto master <your First New Commit SHA1> mixtedRepo/master

最后,让我们将其推送到一个新的远程GitLab仓库:
git remote add origin /url/new/empty/GitLab/repo
git push -u origin master

谢谢@VonC的帮助,让我检查一下。 - Ansplz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接