WWW.lllT.neT

git撤消commit的方式:1、运用“git rm”指令撤消;2、运用“git reset”指令撤消;3、运用“git rebase”指令撤消;4、运用“git revert”指令撤消。

git怎么取消commit

本实例教程实际操作自然环境: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 addgit 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 值
  1. 留意:删掉正中间一次递交时千万不要用 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