git撤消commit的方式:1、运用“git rm”指令撤消;2、运用“git reset”指令撤消;3、运用“git rebase”指令撤消;4、运用“git revert”指令撤消。
本实例教程实际操作自然环境:Windows7系统软件、Git2.30.0版、Dell G3电脑上。
有时候大家递交了失误的编码,必须撤消一次的 commit 纪录,下边介紹几类方式:
一、删除文件夹
假如必须删掉的 commit 是一个或好几个文档,可以开展下列实际操作。
1、被递交到库房的某些文档必须删掉,可以应用 git rm
指令:
git rm <file> // 从工作区域和储存区删掉某一文档 git commit -m "" // 再度递交到库房
2、假如只想要从储存区删除文件夹,当地工作区域不做更改,可以:
git rm --cached <file>
3、假如在工作区域一不小心删错某一文档,可以用 git checkout
将储存区的文档遮盖工作区域的文档,进而把误删除的文件找回:
git checkout -- <file>
4、用 git rm
删除文件夹,与此同时还会继续将这一删掉操作记录出来;
用 rm
删除文件夹,删掉的单单是当地物理学文档,沒有将其从 git 的纪录中去除。
5、git add
和 git rm
有类似的作用,
但 git add
仅能纪录加上、修改的姿势,删掉的姿势需靠 git rm
来进行。
二、GitHub 撤消一次 commit
假如必须删掉的不只是某一文档,反而是交叠的编码,那麼有下列三种办法可以删掉 commit 。
1、git reset
git reset
:回退到一次递交。git reset --soft
:本次递交以后的改动会被回退到储存区。git reset --hard
:本次递交以后的改动不做一切保存,git status
查询工作区域是沒有纪录的。
1)回退编码
假如必须删掉的 commit 是全新的,那麼可以根据 git reset
指令将编码回退到以前一次递交的情况,但一定要将目前的编码搞好备份数据,不然回退以后这种变化都是会消退。具体步骤如下所示:
git log // 查看要回退的 commit_id git reset --hard commit_id // HEAD 便会偏向本次的递交纪录 git push origin HEAD --force // 强制性消息推送到远侧
2)误删恢复
假如回退编码以后发觉拷贝错 commit_id,或是误删除了一次 commit 纪录,还可以根据下边编码修复:
git relog // 拷贝要修复实际操作的前边的 hash 值 git reset --hard hash // 将 hash 换为要修复的历史数据的 hash 值
- 留意:删掉正中间一次递交时千万不要用
git reset
退回远程控制库,由于以后别人递交编码时要git pull
也会把自己的当地库房退回到以前的版本号,非常容易发生错漏从而提升多余的劳动量。
2、git rebase
git rebase
:当2个支系没有一条线上,必须实行 merge 实际操作时应用该指令。
1)撤消递交
假如正中间的一次 commit 必须删掉,可以根据 git rebase
指令完成,方式如下所示:
git log // 搜索要删掉的前一次递交的 commit_id git rebase -i commit_id // 将 commit_id 换成拷贝的值 进到 Vim 编缉方式,即将删掉的 commit 前边的 `pick` 改为 `drop` 储存并撤出 Vim
那样就完成了。
2)处理矛盾
该指令实行时很有可能发生 reabase 矛盾,可以利用下列方式处理:
git diff // 查询矛盾具体内容 // 手动式处理矛盾(矛盾部位已在文档中标出) git add <file> 或 git add -A // 加上 git rebase --continue // 再次 rebase // 若仍在 rebase 情况,则反复 2、3、4,直到 rebase 进行发生 applying 字眼 git push
3、git revert
git revert
:舍弃一次递交。git revert
以前的递交仍会保存在 git log 中,而本次撤消会作为一次新的递交。git revert -m
:用以对 merge 连接点的实际操作,-m 特定实际某一递交点。
1)撤消递交
要撤消正中间一次递交时,应用 git revert
也是一个非常好的挑选:
git log // 搜索必须撤消的 commit_id git revert commit_id // 撤消此次递交
2)撤消 merge 连接点递交
假如此次递交是 merge 连接点得话,则必须再加上 -m
命令:
git revert commit_id -m 1 // 第一个递交点 // 手动式处理矛盾 git add -A git commit -m "" git revert commit_id -m 2 // 第二个递交点 // 反复 2,3,4 git push
建议学习培训:《Git教程》
以上便是git怎么取消commit的详尽具体内容,大量请关心自学java网其他相关文章!
WWW.lllT.neT声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!
原文地址:git怎么取消commit发布于2021-12-04 14:09:01