git 删除与撤回

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenxiqilin/article/details/54412526
在工作区删除
我们修改文件的时候,有时也会把文件给删除掉。例如我们把test3.txt从工作区删除。
这个时候我后悔了,想找回来,怎么办?如果你还没提交到stage区(也没提交到master区)那就好办,只需要使用git checkout test3.txt即可找回来了。如下图:
从工作区删除后提交到stage
我们从工作区删除了文件后,肯定需要提交到版本库管理。只需要执行指令git rm 文件名。如下图:
如上图我们已经成功删除了test3.txt并提交到了stage。
从master去reset回到工作区
如果这个时候后悔删掉的文件,已经提交到了stage,还有办法退回吗?肯定有了,这个时候需要使用reset指令,如下图:
是不是跟上次说的版本退回有点像?对,前面我们讲过有个HEAD指针指向提交到master最新的版本,所以我们执行git reset –hard HEAD指令就是把HEAD指向的版本退回到stage和工作区。
理解了这个原理,即使删除的文件提交到master我们也不用担心,只需要reset到HEAD^就可以了。
小结
- git rm 文件名
- git chekcout 文件名
- reset命令行
- 对于删除文件工作区 -> stage,使用git rm指令;stage ->master,使用commit指令;从stage -> 工作区,使用git checkout指令;从master -> 工作区,使用指令git reset指令(同时也执行了master -> stage)
git 删除与撤回的更多相关文章
- git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...
- 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...
- [转]git 删除远程仓库文件
来源:https://www.jianshu.com/p/de75a9e3d1e1 git删除远程文件夹或文件的方法 项目开发初期由于.gitignore 文件配置不正确很有可能导致某些不需要的目录上 ...
- git 删除本地所有分支
除master的所有: git branch | grep -v "master" | xargs git branch -D Git删除分支的指令:git branch -d ...
- git 删除本地分支、远程分支、本地回滚、远程回滚
一. git 删除分支 1. git 删除本地分支 git branch -D branchname 2. git 删除远程分支 git push origin :branchname (origin ...
- git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法
git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法提交代码流程:1.先提交代码到自己分支上2.切换到devlop拉取代码合并到当前分支3.合并后有变动的推送到自己 ...
- git 删除 repository
git 删除 repository 打开版本库,选择要删除的repository 点击Settings 找到删除选项 输入repository name,点击delet…… 删除本地仓库 执行git ...
- 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...
- git删除所有历史提交记录,只留下最新的干净代码
git删除所有历史提交记录,只留下最新的干净代码 1.Checkout git checkout --orphan latest_branch 2. Add all the files git add ...
随机推荐
- spider爬虫练习
package com.jinzhi.spider; import java.io.BufferedReader;import java.io.IOException;import java.io.I ...
- jsp页面在Android系统和ISO系统的兼容性问题
问题:一个jsp页面在Android手机上显示正常,但到了ISO系统上jsp页面的样式不显示了. 原因:css文件中设置样式时单位不兼容. 解决方案:将rem 转换成px;
- 妙用valueForKeyPath
valueForKey与valueForKeyPath在KVC中同时出现,都可以使用,难免让开发者迷惑:心里知道肯定是不一样,但具体的用法你会吗?其实valueForKeyPath的功能更强大,支持深 ...
- mysql批量更新数据
CREATE PROCEDURE `sp_update_temp_data`( out po_returnvalue ) ) leave_top:BEGIN #Routine body goes he ...
- 微信小程序表单验证
参考:http://www.cnblogs.com/zhangxiaoyong/p/10166951.html
- Linux (麒麟)系统 重启后无法登陆进图形界面
登录图形化界面的时候,会显示GNOME电源管理器没启动等提示信息,会一直卡在登录界面 在启动的时候按ESC或者在登录界面crtl+alt +f3 进入字符终端界面 查看物理存储空间占用信息,可能会有一 ...
- CAP原则和BASE定理
CAP原则和BASE定理 分布式系统 来自个人OneNote 以CAP理论为基础的三种解决方案 1.两阶段提交 所谓的两个阶段是指:第一阶段:准备阶段(投票阶段)和第二阶段:提交阶段(执行阶段). 准 ...
- 找出 Xcode 编译C/C++过程文件及生成文件
在使用 Xcode 编写C/C++时,会发现在项目的目录位置是没有编译过程的那些 .o .exe 文件,只有一个 C/C++ 源代码 .c 文件.如下图(在Mac OS的finder中右键窗口标题名称 ...
- dp入门之01背包问题
...通过暴力手推得到的一点点感觉 动态规划是相对于贪心算法的一种取得最优解的算法,通过对每一步的取舍判断从 0 推到所拥有的第 n 件物品,每次判断可以列写出状态转移方程,通过记忆化相对暴力地取得最 ...
- SSH应用实战——安全防护(fail2ban)
ssh 安全配置 端口 ssh随机端口范围在 27000-30000,可以手动修改也要改在这个范围内,建议定时修改端口. 密码 登陆密码应包含大小写.数字.特殊字符等 10 位以上,建议定期修改密码. ...