这个操作会将库清空,一般来说在建库开始的时候操作。
适用场景:
git init初始化版本库之后,提交第一个点之后发现这个点出问题了,但是此时内心如果有洁癖的话,
你会觉得不完美,很想把这个点干掉重来。

如上图,此时你这个点已经推到远程master上面了, 因为是第一个点,所以通过普通的删除分支的命令无法达到删除的目的。但是可以“曲线救国”,通过以下方法可以实现:
(这个操作会清空版本库, 所以请慎重操作!!!)

1,首先需要确保你拥有master权限
2,要有一个空的版本库,或者第一个点为不包含代码文件的版本库。如下所示:
这个版本库的第一个点我只新建了一个隐藏文件 .gitkeep文件。
3,在待重建的版本库上通过以下的命令添加上图②对应的版本库:
git remote add origin1 git@scm-gitlab:test/test/test.git
(因为①中远程版本库名字是origin,所以这里需要add另外一个库名字)
git fetch origin1 获取同步最新状态

如果master分支是被保护的,需要设置成不保护。
git reset --hard origin1/master 跳转到新add进来的库的master分支
git push orgin master -f 强制将origin1的点推送到origin的master分支上,
这样origin的master就发生了改变

然后把添加进来的库删掉
git remote rm origin1

这样一来就把原来的点删掉了,相当与重建了版本库
 
你们可以发现origin1的第一个是什么文件都没有的,其实我只新建了一个隐藏文件.gitkeep,这样就可以基于这个初始点进行开发,后续如果想删掉重建就没那么麻烦了,直接跳到git init的那个点,然后强推就行了。这个操作有风险,请想好再做,避免带来不必要的损失。
另外,这也告诉我们,在新建版本库的时候,第一个点尽量不要添加任何代码相关的文件,可以添加.gitkeep文件作为初始点,这样操作相对规范点

 

如何删掉git版本库master分支的第一个commit的更多相关文章

  1. Git push将本地版本库的分支推送到远程服务器上对应的分支

    在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构. g ...

  2. 萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解

    由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...

  3. git 版本库拆分和subtree用法

    git 版本库拆分 原文地址: https://segmentfault.com/a/1190000002548731 程序员最爽的事情是什么?删删删!所有项目本来都很苗条的,时间长了难免有一些越搞越 ...

  4. git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解

    由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...

  5. Git版本库

    创建版本库:git init db 只要用git init db 就可以很容易创建一个空的Git版本库. Git版本库创建好之后,在版本库的目录下有一个.git的子目录中有几项内容,其中注意三项: 1 ...

  6. git 版本库回滚(转载)

    From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html From: http://www.tech126.com ...

  7. 解决git提交敏感信息(回退git版本库到某一个commit)

    解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提 ...

  8. 【Git】3、创建Git版本库、配置Git仓库用户邮箱信息

    初识Git 文章目录 初识Git 1.创建Git版本库 认识.git 2.基础配置 2.1.查看配置信息 2.2.配置昵称邮箱信息 2.3.修改配置信息 1.通过命令行 2.通过修改配置文件. 修改全 ...

  9. GIT版本库回滚【图文版】

    git 版本库回滚,在实际开发过程中总会遇得到   1. 先找出需要回滚的commitid     git log -3   2. 重置本地版本库到指定commitid, 注意:本地改动将丢失     ...

随机推荐

  1. javascript之日期对象(Date)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. numpy之数组属性与方法

    # coding=utf-8import numpy as npimport random # nan是一个float类型 ,not a num不是一个数字;inf,infinite 无穷 # 轴的概 ...

  3. Block代码块中使用局部变量注意点

    第一次写代码遇到报这个错,实在是想不通为什么,按常理应该是不会有问题,报错的呀??纠结了一会之后只好仔细查看报错原因咯,原来是: 当我们在block代码块中使用局部变量时,就会很容易出现如图的错误. ...

  4. k8s报错日志查看

    看系统日志 cat /var/log/messages 用kubectl 查看日志 # 注意:使用Kubelet describe 查看日志,一定要带上 命名空间,否则会报如下错误[root@node ...

  5. js多元运算

    for(var i=1;i<=100;i++){ var f = i%3 == 0, b = i%5 == 0; if(f){ if(b){ console.log("FizzBuzz ...

  6. Windows 和 Office 大客户激活方法

    激活Windows 10 找到Powershell,然后右键管理员身份运行,依次输入下面的命令,注意将$host切换成为你组织的服务器地址: slmgr.vbs -upk slmgr.vbs -ipk ...

  7. git与gitlab工具

    1.Git和SVN的对比 1)git是分布式的,svn是集中式的.(最核心) 2)git是每个历史版本都存储完整的文件,便于恢复,svn是存储差异文件,历史版本不可恢复.(核心) 3)git可离线完成 ...

  8. 《0day安全-软件漏洞分析技术》实验笔记1

    Crack 小实验 工具 Dev C++(书上使用的VS) IDA_Pro_v7.0 Ollydbg LordPE 010 editor 使用IDA打开文件 找到程序分支点 空格跳转到汇编界面 得到V ...

  9. 【Python开发】网页爬取心得

    转载:python 爬虫抓取心得分享 title:python 爬虫抓取心得分享 0x1.urllib.quote('要编码的字符串')如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以 ...

  10. linux中su和sudo区别

    su切换用户,切换成root用户,要输入root用户的密码 su - 用户名 sudo  涉及到 /etc/sudoers文件 ,内容如下: # User privilege specificatio ...