git基础-撤销操作

---恢复内容开始---

撤销操作

在任何阶段,你都有可能想要撤销某些操作。

当我们提交完了代码,发现漏掉了几个文件没有添加,后者提交信息写错了,此时,可以运行--amend选项的提交命令尝试重新提交:

git commit --amend

这个命令会将暂存区中的文件提交,如果自上次提交以来你还未做任何修改(例如,在上次提交之后立马执行此命令)那么快照会保持不变,而你所修改的知识提交信息。

例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

git commit -m ‘initial commit‘

git add forgotten_file

git commit --amend

最终你只会有一个提交,第二次提交将代替第一次提交的结果

取消暂存的文件

当你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但却意外地输入了git add *暂存了它们两个。如何只取消暂存两个中的一个呢?

git status命令提示了你:

$ git add *
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README
    modified:   CONTRIBUTING.md在changes to be committed文字正下方,提示使用git reset HEAD<file>... 来取消暂存所以我们可以这样来取消暂存CONTRIBUTING.md文件:
$ git reset HEAD CONTRIBUTING.md
Unstaged changes after reset:
M	CONTRIBUTING.md
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md

CONTRIBUTING.md文件已经是修改未暂存的状态了。

撤销对文件的修改如果你不想保留对CONTRIBUTING.md文件的修改,使其还原成上次提交时的样子,或者刚克隆完的样子,或者刚把他放入目录时的样子,幸运的是,git status也告诉了你应该如何做在最后一个例子中,未暂存区域是这样:
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md
它非常清楚的告诉了你如何撤销之前所做的修改。按照提示执行:
$ git checkout -- CONTRIBUTING.md
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README
可以看到那些修改已经撤销了
 

---恢复内容结束---

原文地址:https://www.cnblogs.com/laphome/p/11272675.html

时间: 2024-08-02 14:55:04

git基础-撤销操作的相关文章

Git各种撤销操作

撤销git add操作 git reset HEAD <file> # 取消add操作并保留修改 git checkout -- <file> #若继续该命令,则会删除掉刚刚的修改内容 撤销git commit操作 git reset --soft <commit_id> #可以回退到某个commit并保存之前的修改 <commit_id>从git log中取,取前7位即可 git reset --hard <commit_id> #回退到某个c

Git命令——撤销操作

Git用于撤销的操作主要有以下几个: $ git reset HEAD <file>...  # 撤销暂存的文件 $ git reset --hard HEAD    # 撤销工作目录中所有未提交文件的修改内容 $git checkout -- <file>...  # 撤销指定未提交文件的修改内容 1. 撤销暂存的文件 对于已经暂存的文件,可以 $ git reset HEAD <file>... 命令来取消暂存.例如,文件file2.md已暂存: 运行$ git r

git基础③撤销修改

git跟踪并管理的不是文件,而是修改,可以把创建一次文件也看做修改  文件只要没有git add添加到暂存区,系统默认还是在工作区, 那么commit是不能提交到目录树分支的 撤销修改的内容 1.错误发现的及时,只要把文件回退到上一个版本的转态就好. 2.丢弃工作区的修改: git checkout -- 加文件名   git checkout -- 1.php 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

git杂记-撤销操作

覆盖上一次的提交或重新更新提交说明 $ git commit --amend -m '我再次提交啦,上一次的提交已经不见啦.这是一个危险的操作哦.哈哈,其实并不危险,也是可以数据恢复的啦' 取消已暂存的文件,让文件回到本地已修改的状态 /* $ git add * $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed

git 基础入门操作

前言: 介绍基础的git入门级指令,虽然git指令非常多,但是实际工作中,我们会用到的非常少,小项目中甚至只需要用到2.3个.而且大部分人都会采用gui,而不是每次都打开终端然后输一长串难记的指令. 目录 一.简介: git是一种分布式版本控制系统,与SVN一样都是对一个软件项目进行版本管理的.其托管平台常见的有github,gitlab,不管平台为何,我们开始一个git项目的步骤都是一样. 二.开始使用GIT 一.创建仓库 首先.我们需要有一个仓库,英文就是repository,就是一个软件项

git学习——撤销操作

修改最后一次提交:--amend 在提交完成后发现漏掉了几个文件没有加进去,或者提交信息写错了.想要修改怎么办? 现在可以先把需要修改的信息进行修改如:git add 添加没有添加的文件,vim <filename>对文档编辑后再 git add.最后使用: git commit --amend命令则将刚才所有修改添加的东西添加到了最后一次提交中. 取消已经暂存的文件 来看下面的例子,有两个修改过的文件,我们想要分开提交,但不小心用 git add . 全加到了暂存区域.该如何撤消暂存其中的一

git基础及分支

关于版本控制 git是一种分布版本控制系统,每一主机都保存了完整副本.必杀技是分支. 在Windows可安装git客户端msysgit. git基础 第一次看progit觉得有点不懂,不懂版本控制,一条条命令写的觉得很麻烦没头绪.这次在看了向导guides.github.com之后,文章避免了一些细枝末节的命令,而是介绍工作流程,懂了一点工作大概流程再开始使用命令比较合适. 三种状态 工作目录.暂存区域.git目录 工作目录就是你打开文件夹看到可见目录.暂存区域含有添加(add)之后的文件.gi

如何在 Git 里撤销(几乎)任何操作

任何版本控制系统的一个最有的用特性就是"撤销 (undo)"你的错误操作的能力.在 Git 里,"撤销" 蕴含了不少略有差别的功能. 当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点的快照:之后,你可以利用 Git 返回到你的项目的一个早期版本. 在本篇博文里,我会讲解某些你需要"撤销"已做出的修改的常见场景,以及利用 Git 进行这些操作的最佳方法. 撤销一个"已公开"的改变 场景: 你已经执行了 git

谈谈 git 撤销操作

在工作中,往往会因为一些误操作,想撤销代码,下面我简单介绍一下如何操作(如果不了解 git 的基础用法,可以点击这里:链接) 撤销本地修改 git checkout 文件 撤销所有文件 git checkout . 撤销所有文件 git clean -df 撤销所有文件也可以执行 git clean -df git reset --hard 撤销已经提交的修改 git revert 版本号 撤销已提交的修改也可以执行 git reset --hard 版本号 原文地址:https://www.c