Git永久删除commit--[非教程]

假设当前分支为master,当前的commit情况如下,现在需要删除commit_id_2和commit_id_4:

commit_id_1
commit_id_2
commit_id_3
commit_id_4
commit_id_5
....

一、创建新的分支,用于reset操作

git checkout -b develop
git push orign -u develop

二、在新分支develop上,将commit重置到commit_id_4之前的提交

git reset --hard <commit_id_5>

三、提交新分支,覆盖之前的commit信息

git push orign HEAD --force

四、按原有的顺序恢复不需要删除的commit,然后提交

git cherry-pick commit_id_3
git cherry-pick commit_id_1
git push orign develop

五、删除原有的master分支,从develop中checkout一个新分支作为master

git push orign --delete master
// 或者 git push orign :master
// 注意:master一般是默认分支,你需要先将默认分支设置为develop才能删除

git checkout -b master
git push orign -u master
// 最后将master重新设置为默认分支

操作比较繁琐,但是比较保险,如果有什么好方法,可以分享一下。。

时间: 2024-11-05 21:58:55

Git永久删除commit--[非教程]的相关文章

git彻底删除commit记录的方法

在github上,如果非默认分支的话,直接用以下方法: git reset --hard <commit_id> git push origin HEAD --force 如是默认分支,需要将默认分支修改为其他的分支,才能进行此操作. 有的git系统不支持修改默认分支,例如阿里云的code就不支持,可能唯一的方法就是删掉项目重新建立.

在git彻底删除commit记录的方法是什么?

在github上,如果非默认分支的话,直接用以下方法: git reset --hard <commit_id> git push origin HEAD --force 如是默认分支,需要将默认分支修改为其他的分支,才能进行此操作. 有的git系统不支持修改默认分支,例如阿里云的code就不支持,可能唯一的方法就是删掉项目重新建立.

【转】git 删除commit

工作中有一次不小心提交了不该提交的代码到GIT上,而且在发现之前又提交了几个commit,现在想在GIT服务器上永久删除这个commit,具体步骤记录如下. 假设当前分支为master,当前的commit情况如下,现在需要删除commit_id_2和commit_id_4: commit_id_1 commit_id_2 commit_id_3 commit_id_4 commit_id_5 .... 一.创建新的分支,用于reset操作 git checkout -b develop git 

git 如何删除本地创建的仓库(转载自 https://segmentfault.com/q/1010000002996177?_ea=262685)

可以先清除本地文件夹下的git文件,然后在重新初始化新建的git仓库 //删除文件夹下的所有 .git 文件 find . -name ".git" | xargs rm -Rf 接着add,commit等操作即可

git基础③删除文件

在git中,删除文件也是一个修改操作. 删除文件管理器里面的文件用rm rm 1.php 这时 工作区和版本库的文件就不一致了 有2个选择 1.确实要从版本库中删除文件,那就git rm删除掉 并且 git commit git rm 1.php git commit -m "删除1.php" 2.不小心删除错误了, 如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容.回退恢复到最新版本就好 git chec

Windows+Git+TortoiseGit+COPSSH安装图文教程【转】

转自:http://blog.csdn.net/aaron_luchen/article/details/10498181/ Windows+Git+TortoiseGit+COPSSH 安装图文教程 准备工作: 1. Git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. Copssh_4.1.0_Installer.exe 下载地址: http://download.c

从git中删除 .idea 目录

方法/步骤 将.idea目录加入ignore清单: $ echo '.idea' >> .gitignore   从git中删除idea: $ git rm —cached -r .idea   将.gitignore文件加入git: $ git add .gitignore   Commit gitignore文件,将.idea从源代码仓库中删除: $ git commit -m '(gitignore commit and remove .idea)'   Push到服务器: $ git

Git超简单入门简明教程--写给一直不敢用Git的同学

从2014年2月12号开始工作到现在,已经快小半年了,还记得第一次接触集中式版本控制工具SVN时的惊喜,这对于之前一直独立开发的我来说,才明白原来代码还可以这样管理!当然,现在对于SVN的理解,也不过是知道运行原理,能满足工作里一些简单的代码版本控制罢了.对于Git这个版本控制工具,其实已经听说很长时间了,也明白Git与SVN的工作原理的区别,也一直想入门接触一下,但是苦于下载的一些教材太厚,内容太多,一直也没上手练.正好,这几天事件比较宽裕,于是又找来相关的资料,开始慢慢接触Git的使用,希望

第二章-第二题(每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。)--by侯伟婷

第二题:每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令.比较项目的新旧版本的差别. 下面我将自己的练习结果和个人感受记录如下: 第一步:安装Git,设置自己的账号和邮箱,参见Git教程-廖雪峰的官方网站,网址如下参考资料1所示. 第二步:在Git中新建repository,名叫HelloWorld,并进行初始化,如图所示. 第三步:在HelloWorld版本库中新建了helloWorld.txt文件,用以练习G