博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
撤销操作
阅读量:4958 次
发布时间:2019-06-12

本文共 1266 字,大约阅读时间需要 4 分钟。

追加提交文件或更改提交信息

在任何时刻,你都有可能想撤销之前的操作。有些撤销操作是不可逆的。请务必当心。

有一种撤销操作的常见使用场景是提交之后才发现自己忘了添加某些文件,或者写错了提交信息。如果这时你想重新尝试提交,可以使用--amend选项

$ git commit --amend

上述命令会提交暂存区的内容。如果你在上次提交之后并没有做出任何改动,那么你的提交快照就不会有变化,但你可以改动提交信息。

举例,如果你提交后才发现忘记添加了某个更改过的文件,可以执行下面的操作

$ git commit -m "..."$ git add forgotten_file$ git commit --amend

最终只是产生了一个提交,因为第二个提交命令修正了第一个提交的结果。

撤销已暂存的文件

如果你更改了两个文件a.txt和b.txt,想要分两次提交,但不小心输入了git add *,把这两个文件都添加到了暂存区。这时,如何将它们从暂存区移出呢?其实git status命令给了你一些提示

$ git statusOn branch masterChanges to be committed:  (use "git reset HEAD 
..." to unstage) modified: a.txt modified: b.txt

它提示你使用git reset HEAD ...命令把文件移出暂存区。

$ git reset HEAD b.txtUnstaged changes after reset:M       b.txt

再次查看,可以看到b.txt被移出了暂存区

$ git statusOn branch masterChanges to be committed:  (use "git reset HEAD 
..." to unstage) modified: a.txtChanges not staged for commit: (use "git add
..." to update what will be committed) (use "git checkout --
..." to discard changes in working directory) modified: b.txt

撤销对文件的修改

如果你突然不想要b.txt的更改了(即想把他还原到上次提交时的状态),怎么办?其实git status也给出了答案。使用git checkout -- ...命令

$ git checkout -- b.txt

再打开b.txt,则已经被还原到上一次提交时的状态了。

转载于:https://www.cnblogs.com/velscode/p/10596598.html

你可能感兴趣的文章
线性素数筛(欧拉筛)(超级好的MuBan)
查看>>
EasyUI序列化提交学习总结
查看>>
PhpStorm 8.x/9.x 快捷键设置/个性化设置,如何多项目共存?如何更换主题?
查看>>
火影忍者内容介绍
查看>>
关于spring注解
查看>>
转-Axis2开发WebService客户端 的3种方式
查看>>
如何做一个像btbook.net这样的搜片神器?
查看>>
Objective-C处理动态类型函数集
查看>>
[Poi2014]FarmCraft
查看>>
every day a practice —— morning(3)
查看>>
MySQL优化之Explain命令解读,optimizer_trace
查看>>
C++函数指针详解
查看>>
[算法] 二维数组(长宽相等)逆时针旋转90°算法
查看>>
[Java文件操作] 为文本文件添加行号
查看>>
java中求两个数组(集合)的交集,并集,差集
查看>>
汇编学习总结1---7 章(王爽教程)
查看>>
MySQL Index--NOT IN和不等于两类操作无法走索引?
查看>>
一、开发基础(5)
查看>>
解析:DNS 原理(入门篇)
查看>>
DLL的远程注入技术
查看>>