【问题标题】:How to set the gitlab repository to the initial state如何将gitlab存储库设置为初始状态
【发布时间】:2020-08-26 18:03:55
【问题描述】:

所以

  1. 我在 gitlab 中创建了一个仓库
  2. 将一些更改推送到主分支
  3. 创建了许多其他分支并将更改推送到每个分支

现在我想使用命令行返回第 1 步,所以基本上是我在第一步中拥有的一个空的初始存储库,在没有历史记录的存储库创建之后,什么都没有

有什么方法可以在命令行中做到这一点?

我尝试了很多方法,但都没有成功。检查了一些类似这个的stackoverflow帖子,但不适用于我的情况

How to reset a remote Git repository to remove all commits?

https://gist.github.com/stephenhardy/5470814

【问题讨论】:

  • 删除目录并新建一个...?
  • @Paolo - 这是显而易见的方法,但我不想这样做,因为我有大量的存储库,所以我正在寻找一种从命令行重置现有存储库的方法
  • 你可以用一个非常短的脚本来相当接近:列出所有引用,然后使用git push --delete 将它们全部删除。不过,这并不能保证与初始空存储库的状态相同。

标签: git gitlab


【解决方案1】:

rm -rf .git 然后git init。

.git 目录包含所有提交、提交历史记录和其他使 repo 成为 repo 的元数据。当您在 repo 中删除 .git 目录时,它会变回常规目录。

然后你可以像第一次一样再次git init。使用 git add 添加文件,然后使用 git commit 进行初始提交。

您将不得不强制推送 (git push -f) 到 Gitlab,因为您从远程的角度基本上重写了历史。或者,您可以删除 Gitlab 上的 repo 并创建一个新的。然后按照 GitLab 的说明将现有的 repo 推送到它。

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 2018-04-12
    • 2020-11-02
    • 2017-06-20
    • 1970-01-01
    • 2021-03-10
    • 2017-05-12
    • 2015-02-21
    相关资源
    最近更新 更多