首页 > 其他分享 >Git必知必会基础(11):撤销操作

Git必知必会基础(11):撤销操作

时间:2024-01-19 21:44:07浏览次数:48  
标签:11 reset Git 必知 撤销 -- add git commit

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/10854115.html

数据准备

 

说明:

下面对file的操作,都可以用通配符

git add <file>...

比如:git add *.txt

 

git restore <file>...

比如:git restore --staged *.txt

 

修改文件(已提交过,文件已在本地仓库中)

撤销:对工作区修改

修改文件内容,可以看到master -> origin的颜色变了

 

此时文件在工作区,根据上图提示,撤销修改:git restore qzcsbj.txt

 

撤销add:工作区 -> 暂存区

准备数据

 

git restore --staged qzcsbj.txt

 

撤销commit:重新commit

准备数据

 

删除上一次提交,重新提交,比如:修改-m的内容,git commit --amend -m "update qzcsbj.txt add 666"

 

和上面对比发现,ebc6ec1这次比较被删除了

 

撤销commit:本地仓库

回到上一次版本,保留工作区和暂存区

git reset --soft f198af0

可以看下面新增文件的示例

 

新增文件(未提交过,文件不在本地仓库中) 

撤销:对工作区修改

工作区新增test.txt文件

 

直接删除文件:rm test.txt

 

 

撤销add:工作区 -> 暂存区

准备数据

 

git restore --staged qzcsbj.txt

 

撤销commit:重新commit

git commit -m "add test.txt"

 

 

删除上一次提交,重新提交,比如:修改-m的内容,git commit --amend -m "add file test.txt"

 

撤销commit:本地仓库

回到上一次版本,保留工作区和暂存区

git reset --soft 477cdb7

 

关于撤销提交(也就是分支重置)

撤销上一次提交,回退到Untracked(工作区),这会把 HEAD 指针移回上一个提交(HEAD~1),并清除最后一次提交的内容
git reset HEAD~1

撤回两次或者n次
git reset HEAD~2

回到指定commit的状态
git reset --hard <commit_SHA-1>

 

git reset --soft:工作区和暂存区的内容不会改变,git reset --soft 477cdb7

git reset --mixed (默认选项):将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变

git reset --hard,将HEAD指向指定的提交,暂存区跟工作区都会改变

git reset --hard HEAD,回退到最近一次提交

分支重置:git fetch --all && git reset --hard origin/master


参数

--mixed
不删除工作空间改动代码,撤销 commit,并撤销 git add . 操作

git reset --mixed HEAD^ 效果等同 git reset HEAD^

--soft
不删除工作空间改动代码,撤销commit,不撤销git add .

--hard
删除工作空间改动代码,撤销commit,撤销git add .

--amend
修改提交日志,进入vim编辑器,改完:wq即可,新版本直接-m指定新的提交日志

 

标签:11,reset,Git,必知,撤销,--,add,git,commit
From: https://www.cnblogs.com/uncleyong/p/17967566

相关文章

  • 【github】Mac系统中,如何项目clone(1.通过vscode链接github,2.进行clone)
     1.通过vscode打开一个空文件夹(目录:确认想要放置新项目的目录)2.进行vscode和github的链接1)参考下方网址1-6步,生成sshkey,登录到github,检测SSHkeyhttps://cloud.tencent.com/developer/article/1952247,网址中有效内容如下:1.检查SSHkey是否存在在Mac终端输入:ls-a~/.......
  • $20240119$ 练习题解
    \(20240119\)练习题解CF472D通过尝试我们容易发现,与点\(1\)最近的点一定是直接儿子。我们要是把它作为突破点,那就成功了一半了。假设点\(2\)与点\(1\)最近,又假设我们可以用函数\(F(x)\)来确定\(x\)点的子树形态。那我们会发现如果我们还有剩余的节点,那么剩余的节点......
  • 寒假生活指导11
    importjsonimportjsonpathobj=json.load(open('073__爬虫_解析_jsonpath.json','r',encoding='utf-8'))#书店所有书的作者#author_list=jsonpath.jsonpath(obj,'$.store.book[*].author')#print(author_list)#所有的作者#author......
  • Git Rebase和Merge-cnblog
    GitRebase和MergeRebase首先,先看一下gitrebase的操作图:在B点创建出来一个新的分支feature,进行了两个commitC和D,master分支则进行了一次提交M,然后在feature分支上执行然后执行gitrebasemaster这样对变基(rebase)既可清楚理解。gitrebase简单来说就是将C和D的提交抽取......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Jan 2024)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedJan2024)Windows11,version23H2,2024年1月更新请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWindows11目前版本所有的日期都按照I......
  • 初次使用git
    1.在gitee新建仓库2.在本地文件夹下初始化仓库:gitinit3.提交所有文件到缓冲区:gitadd.4.提交缓冲区文件到本地仓库:gitcommit-m"initialcode"5.关联本地仓库与远程仓库:gitremoteaddorigingitee仓库地址第6到10步为错误命令。6.gitpulloriginmaster提示有偏离......
  • GitHub DeskTop 汉化教程
    参考文章:GithubDesktop汉化(最新版,支持Win、Mac、Linux平台)下载安装GitHubDeskToGitHubDeskTop官网下载地址:https://desktop.github.com/到官网下载并安装GitHubDeskTop,安装的时候要用默认路径!!!安装的时候要用默认路径!!!安装的时候要用默认路径!!!下载汉化工具GitHubDeskTop......
  • AT_arc115_b [ARC115B] Plus Matrix 题解
    AT_arc115_b[ARC115B]PlusMatrix题解题意给定矩阵\(C_{n\timesn}\),求两个数列\(A_n,B_n\),使得\(C_{i,j}=A_i+B_j\)。分析画出一个表格来:213243502131324可以看出来,对于任意一列\(j\),\(C_{*,j}\)都存在有\(B_j\)的贡献。那么我们......
  • gitlab-runner实现gitlab上的代码自动打包发布——windows版
    gitlab中的项目,每次打包发布都比较麻烦,需要自己本地打包然后传输到服务器,再启动。考虑实现一种自动打包发布的方法。1)考虑使用jenkins实现,但是需要jdk11(当前环境不能升级),还有一些插件(这个虽然可以离线安装,但是需要高版本的jenkins,相对应的又依赖高版本的jdk)2)考......
  • 20240119
    卡常狗能不能死一死啊A.构造87bitset瞎搞#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineullunsignedlonglong#defineALL(a)(a).begin(),(a).end()#definepbpush_back#definemkmake_pair#definepiipair<int,int>#define......