美文网首页编程语言
git撤销更改的门道

git撤销更改的门道

作者: 程序员小迷 | 来源:发表于2024-04-22 16:11 被阅读0次

1.git checkout -- 文件

撤销对工作区某文件的修改。

git checkout .

撤销本地所有修改的、没有提交的文件的修改,都返回到原来的状态。

2.git reset --hard [commit] 

将工作区和暂存区的内容强制修改为commit时本地代码库的状态。

3.git reset --mixed  [commit]

将暂存区的内容强制修改为commit时本地代码库的状态,工作区的内容不变。

4.git reset --soft  [commit]   

将本地代码库的内容修改为commit时的状态,暂存区和工作区的内容不变。

5.git revert [commit]

1)当commit为常规commit,非merge commit时

将选择的某一次提交撤销,撤销后会生成一个新的commit,撤销掉的提交记录仍然存在。

2)当commit为merge commit时

merge commit代表有多个分支进行了合并,若直接使用 git revert <commit id>,git 也不知道到底要撤销哪一个分支上的内容。这时需要指定一个 parent number 标识出"主线",主线的内容将会保留,而另一条分支的内容将被 revert。

从 git show <commit id>命令的结果中可以看到,merge commit 的 parent 分别为 a111111 和 b222222,其中 a111111 代表 master 分支,b222222 代表 另一个 分支。需要添加 -m 选项以代表这次 revert 的是一个 merge commit。-m 选项接收的参数是一个数字,数字取值为 1 和 2,也就是 Merge 行里面列出来的第一个还是第二个,其含义用来保留哪个分支。

例如:

git revert -m 1 ab82453


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

相关文章

  • git 撤销git commit(内含车协git add)

    撤销git commit 只是撤销commit, git add里面的内容仍然存在,这种功能类似于用来更改git ...

  • Git撤销更改

    3个步骤 4个区 工作区(Working Area)暂存区(Stage)本地仓库(Local Repository...

  • git

    git基本操作 安装git 初始化仓库(repository) 提交更改到暂存区 提交更改到版本库 撤销更改 删除...

  • Git撤销

    Git的4个阶段的撤销更改 https://segmentfault.com/a/1190000011910766

  • git学习记录2

    git checkout -- XXX文件名称 撤销文件的更改git reset HEAD XXXX文件名称 ...

  • Git学习

    1.暂存区,工作区 文件处理 1.撤销修改 git checkout -- file 撤销工作区的更改如果已经提交...

  • git日程命令小结

    git撤销本地所有未提交的更改 git clean -df git reset --hard第一个命令只删除所有u...

  • git基础操作-撤销更改

    仅考虑只有一个master主分支的情况。用图的表达:

  • Git新手教程-撤销更改(七)

    前言 在前面的文章中,我们学习了标签、分支、和合并。现在我们将学习Git中另外的三个命令git commit --...

  • git 常用操作回顾

    撤销add git reset HEAD 撤销commit git reset --soft HEAD^ 仅撤销c...

网友评论

    本文标题:git撤销更改的门道

    本文链接:https://www.haomeiwen.com/subject/pxfixjtx.html