这个操作会将库清空,一般来说在建库开始的时候操作。
适用场景:
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. 代码实现:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名

    package com.loaderman.test; import java.io.File; import java.io.FileReader; import java.util.Scanner ...

  2. openLdap安装教程

    环境 操作系统:centOS 7.0 OpenLDAP:2.4.X 安装 从yum源安装 yum install openldap openldap-servers openldap-clients ...

  3. Python3命名规范

    1.模块 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) # 正确的模块名 import decoder import html_parser # 不推荐的模 ...

  4. python导入csv文件出现SyntaxError问题分析

    python导入csv文件出现SyntaxError问题分析 先简单描述下碰到的题目,要求是写出2个print的结果 可以看到,a指向了一个列表list对象,在Python中,这样的赋值语句,其实内部 ...

  5. golang 多级json转map

    func main() { jsonStr := `{"isSchemaConforming":true,"schemaVersion":0,"unk ...

  6. Mac上解决Chrome浏览器跨域问题

    最近做前端开发总是遇到一个很奇怪的现象,同一个AJAX请求,在Chrome里调试的时候就会提示跨域,但是在手机模拟器或者真机上调试的时候就不会,于是百度了一下,发现是Chrome的安全策略导致的,需要 ...

  7. python高级 之(二) --- 类装饰器

    装饰器-初级 在不改变原有函数逻辑功能的基础上,为函数添加新的逻辑功能.使代码可读性更高.结构更加清晰.冗余度更低 简介 """ 闭包: 函数嵌套的格式就是闭包.写装饰器 ...

  8. android webkit 初始化流程

    以android 4.2为例 1, android 4.2中 WebViewClassic.java 为 WebView.java的代理类. 2,程序运行后,浏览器首先加载webkit so. Web ...

  9. EntityFramework数据迁移(笔记)

    1.启用迁移 在Package Manager Console中运行Enable-Migrations命令 此命令已将Migrations文件夹添加到我们的项目中,此新文件夹包含两个文件: Confi ...

  10. oracle数据区间

    区是段下面的一个管理单位,一个区在物理上是一段连续的数据块. 一个数据文件有一个文件头,它用了若干个数据块,这个文件头里记录着区的分配与释放的信息.在这个文件中有些区是被使用的,有些区是空闲的. 什么 ...