有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大。如果确定历史更改没有意义,可以采用下述方法清空历史,

1) 先 clone 项目到本地目录 (以名为 mylearning 的仓库为例)

$ git clone git@gitee.com:badboycoming/mylearning.git

2) 进入 mylearning 仓库,拉一个分支,比如名为 latest_branch

$ git checkout --orphan latest_branch

3) 添加所有文件到上述分支 (Optional)

$ git add -A

4) 提交一次

$ git commit -am "Initial commit."

5) 删除 master 分支

$ git branch -D master

6) 更改当前分支为 master 分支

$ git branch -m master

7) 将本地所有更改 push 到远程仓库

$ git push -f origin master

8) 关联本地 master 到远程 master

$ git branch --set-upstream-to=origin/master

注意:对 gitee 用户,因为 gitee 目前限制单个仓库大小为 1024 MB,清除完历史记录后,还要去项目主页 Settings 下做一下 Git GC.

完。

git 清除所有历史记录的更多相关文章

  1. git 彻底删除历史记录中的大文件

    Reference 大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦. === 删除大文件方法 方法 ...

  2. Git清除不被任何分支所有的commit

    在一个分支上开发,有一些commit没有merge进master,后来放弃这个分支,不想继续开发了,那么这些没merge的commit就丢失了,称为dangling. 想要清除这些commit,运行: ...

  3. git 清除缓存

    清除git缓存 git config --local --unset credential.helper git config --global --unset credential.helper g ...

  4. git清除用户信息

    remote: Repository not found. fatal: repository 'https://github.com/chenbowen950908/zhongzanjiaoyu.g ...

  5. 清除 GitHub 历史记录的隐私信息

    清理 github 敏感信息 有的时候我们在提交到github上的内容不小心含有敏感代码,比如密码,公司的服务器IP等.这个时候就要通过一些手段清除这些信息. GitHub官方方案比较码放,所以推荐使 ...

  6. windows git 清除已保存的密码

    进入git目录 右键 git-bash.exe 执行命令: git config --system --unset credential.helper 然后执行git clone http://... ...

  7. Git 清除远端已删除的分支

    使用 git branch -a 命令可以查看所有本地分支和远程分支(git branch -r 可以只查看远程分支) 发现很多在远程仓库已经删除的分支在本地依然可以看到. # git branch ...

  8. git 清除本地无效的分支

    远程服务器的分支已经删掉了,但是本地分支还存在 $ git fetch -p 如果不行,使用下面的指令 $ git remote prune origin

  9. git清除用户名密码

    问题: remote: HTTP Basic: Access deniedfatal: Authentication failed for 'http://******** 解决方案: git con ...

随机推荐

  1. git-忽略不想提交到git的文件

    在代码目录下建立.gitignore文件: .gitignore (用记事本另存可以保存这个名字),配置上要忽略的文件或者文件夹,然后提交到git 上就可以了.

  2. TLC编程

    NAND Flash可以划分为SLC.MLC和TLC SLC:单阶存储单元,读写速率快,可擦写次数高 MLC和TLC:多阶存储单元,MLC每个存储单元中存储2 bit数据,可以表示四种数据:SLC每个 ...

  3. Postman配置环境变量添加token

    postman测试接口时,每次都需要获取token以后,复制到接口里,特别复杂. 这里通过把获取token接口的返回数据添加到环境变量,然后将环境变量名设置在其他接口的token中,获取一次token ...

  4. Mac 安装Mysql 之 Sqlservice 区别

    Mysql 一.下载mysql    官网“Community “ 下会看到“MySQL Community Server”下方有一个“download”点击.   在Mac OS上的MySQL的版本 ...

  5. java发送邮件(一)--补充添加附件

    今天来记录一下如何使用java来发送邮件 背景 之前项目有个需求,当产品出现故障时会把情况上送给服务器,服务器发送邮件将故障产品的位置以及故障信息等告知维修人员.发送邮件的接口不是我负责的,但是有兴趣 ...

  6. 并查集 --cogs456 岛国

    题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=pNyNQiqge 思路: 基础是并查集,将两个相邻的岛算作一个集合,每次若合并成功,则N ...

  7. matlab作业之m文件的建立与使用运行

    画曲线y=xsin(ex-x),要求编写m文件,qx1.m,要求有标注 实现方法: 打开matlab,点击左上角新建 然后打开编辑器 在编辑器里输入函数语句 ctrl+s保存,这里的名字要命名成××× ...

  8. 【ARM-Linux开发】linux下Eclipse进行C编程时动态链接库的生成和使用

    linux下Eclipse进行C编程时动态链接库的生成和使用 引用 http://linux.chinaitlab.com/soft/864157.html 欢迎进入Linux社区论坛,与200万技术 ...

  9. 【Python】【demo实验32】【回文数的确认】

    原题: 我的代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- #判断一个数字是否为回文数 即 12345654321 x = ...

  10. Redis(1.5)Redis配置文件(4.0.14)

    4.0.14 常用配置 bind 127.0.0.1 # 默认绑定本地,不写的话任何地址都可以访问 protected-mode yes #保护模式,如果没有设置bind 配置地址,也没有设置任何密码 ...