Gitlab删除旧提交

Ans*_*plz 5 git git-commit gitlab

我已经从gitlab克隆了一个仓库。在不删除.git文件夹的情况下,我已经工作并编辑了克隆的项目并完成了某些提交。现在我的gitlab具有旧提交和我的提交。有什么方法可以删除旧提交并仅维护我的提交?

Von*_*onC 3

您可以做的是创建一个新的空存储库,并仅在其中导入当前(混合)存储库中的新提交。

cd /another/local/path/aNewFolder
git init .
git remote add mixtedRepo /path/to/mixted/repo
git fetch mixtedRepo
Run Code Online (Sandbox Code Playgroud)

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

让我们首先确保您有一个本地主分支:

git commit --allow-empty -m "master branch"
Run Code Online (Sandbox Code Playgroud)

然后,让我们根据您在旧存储库中所做的提交来重新确定您的空提交:

git rebase --onto master <your First New Commit SHA1> mixtedRepo/master
Run Code Online (Sandbox Code Playgroud)

最后,让我们将其推送到新的远程 GitLab 存储库:

git remote add origin /url/new/empty/GitLab/repo
git push -u origin master
Run Code Online (Sandbox Code Playgroud)