【收藏】Git删除当前分支下的所有历史版本与log并同步至GitHub

Jul 9, 2019 06:30

作者:COCO56

原文链接: https://blog.csdn.net/coco56/article/details/95109142

1. 按

保留大量的历史版本会给存储设施增加负荷,有时候我们需要删除之前的所有历史版本与log,仅保留当前版本的文件。

删除master分支下的所有历史版本与log,只保留当前的版本,并同步至GitHub

2. 方法一

先新建一个名为latest_branch的分支,然后将当前master分支中的所有文件添加到latest_branch分支中,接着等待移动完毕后删除master分支,最后把latest_branch这个分支的分支名改为master。

以下是具体实现:

2.1. 切换到latest_branch分支下

git checkout --orphan latest_branch
  • 1

2.2. 添加所有文件

git add -A
  • 1

2.3. 提交更改

git commit -am "清除所有历史版本以减少仓库大小,请重新从远程拷贝此仓库"
  • 1

2.4. 删除分支

git branch -D master
  • 1

2.5. 将当前分支重命名

git branch -m master
  • 1

2.6. 最后,强制更新存储库

git push -f origin master
  • 1

2.7. 技巧

将如下代码保存在一个bat文件里,然后双击运行即可。

git checkout --orphan latest_branch
git add -A
git commit -am "清除所有历史版本以减少仓库大小,请重新从远程拷贝此仓库"
git branch -D master
git branch -m master
git push -f origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
在这里插入图片描述

3. 方法二

不推荐使用,可能导致git存储库出现问题。思路:直接删除.git文件再初始化仓库

3.1. 先删除.git文件夹

3.2. 然后初始化Git(user为你的用户名,repo为你的仓库名)

git init git remote add origin [email protected]:user/repo
  • 1

3.3. 提交当前版本的代码

git add * git commit -am 'message'
  • 1

最后,强制更新到GitHub:

git push -f origin master
  • 1