Android Studio如何回滚已经commit的代码

对于commit(不是push)的代码如何回滚,这块对于刚转到git的开发者还是比较陌生的。今天我来说下这块的内容:

按照惯例,先上图,下图是还没有commit任何代码的push界面,这个时候是没有commit任何内容的:

然后我修改了string.xml的内容,并且执行了commit操作:

接下来就要说如何进行revert commit了,通过选中工程,点击右键,在弹出的列表中选择Git-->Repository-->Reset HEAD...,有些人可能会说我右键弹出来的列表中没有发现有Git的选项,这个可以配置的,请戳这:

Android Studio右键选项中没有Git?

这边对上图进行分析:

Git Root:选择你要revert的目录

Current Branch:你当前在哪个branch

Reset Type:

Soft:选择这个模式意思是仅仅撤销commit而已,不影响你本地的任何文件,也不影响(index)缓存区的任何文
件。

Hard:不仅撤销commit的内容,还将本地的文件指向你commit前的版本,同时index也会指向commit前的版本。

Mixed:这个模式从我个人角度来看其实还是有点模糊的。从我的角度理解就是只是回滚index,其余的都不变。

但是这边跟大家说下,如果你把HEAD后面加个“~1”,这里的数字代表的是次数,比如你commit了三次,
      你写1,就是回滚最后一次提交的,如果是2,就是后两次提交的都回滚。这时候你会发现它的功能和soft
      这个模式一样了。

我把官方的说法贴上来吧:Resets the index but not the working tree (i.e., the changed
files are preserved but not marked for       commit) and reports what has not been updated. This is the default action.

Validate:这个选项是看当前会影响到的文件有哪些,具体影响是什么。

我这边执行下soft模式的,执行完成后,看下图,刚commit的记录已经没了:

当然你想用命令行也是一样的,

git reset [--soft | --mixed [-N] | --hard] HEAD~X   X:代表次数
时间: 2024-10-07 23:31:46

Android Studio如何回滚已经commit的代码的相关文章

Git误操作 git reset强制回滚 恢复commit方法

参考: 找回Git中丢失的Commit Git误操作 git reset强制回滚 恢复commit方法 使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时Commmit记录也消失了. 此时解决方法是通过git reflog来查看先前记录并恢复: git reflog会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会

在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连SVN的同学都没有使用过就好好使用一下SVN吧. a1.代码更新. 在SVN中操作,我们要提交已经修改过的代码前,一定会记住. "先更新,在提交" (不然你的小伙伴的代码就被你全覆盖了,然后你的小伙伴就会躲在公司墙角画圈圈了) 所以在Git里面操作.也是这样的.不过就多了一个步骤,就是 先更

使用Android Studio手把手教你将应用打包+代码混淆

最近几天用Google的Design库写了个App,使用Android Studio将app打包时遇到的几个瓶颈,所以把详细步骤写入下来. AS中怎么获取应用签名 这和eclipse不同,eclipse中可以直接在软件内部查找到,而AS则需要通过命令行形式拿到,具体先进入.android目录下,如图: AS将应用打包 AS版本1.3,步骤都以截图为示例: AS中Build->选择Generate signed APK,然后选择需要打包的应用,如: 选择应用后进入这个界面: 因为我之前打过包这里就

《Android Studio有用指南》7.1 AndroidStudio代码检查工具概述

本文节选自<Android Studio有用指南> 作者: 毕小朋 博客: http://blog.csdn.net/wirelessqa 眼下本书已上传到百度阅读, 在百度中搜索[Anroid Studio有用指南]便能够找到本书. Android Studio提供了功能强大.高速.灵活的代码检查工具, 它能够检測出编译器和执行时的错误,在你编译之前建议你修正和攺进. Android Studio代码检查不仅仅能检查出编译错误, 还会检查出一些效率低下的代码,它支持一些代码规范.编程指南.最

Git 基础 - 回滚撤销commit

1 ###################################################################[@wooluwalkerdeMacBook-Pro:wenjian (dev)]$ git dog * db69602 (HEAD -> dev) add test_reset.md * fab7157 dev修改READM.md * 217fef2 (origin/master, origin/HEAD, master) Update README.md,

如何使用git回滚版本到分支中的某一个commit时间点

git reset [commit 哈希值] 但是这样做只能把本地分支回滚到该commit上,远程分支还在原来的地方. 可以这样操作:在你想要回滚的commit上另外建一个新分支,然后git checkout [该分支],然后把原来的分支删除掉,git branch -d [老分支]可以删除本地的老分支,同样,远程分支还是老状态,可以git push origin :[老分支],把远程的老分支删除,这样你需要回滚的commit之后的信息在本地和远程都彻底消灭了(慎重,确保你真的不要这些信息了哦)

sql事务(Transaction)用法介绍及回滚实例

事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态.在事务处理术语中,事务要么提交,要么中止.若要提交事务,所有参与者都必须保证对数据的任何更改是永久的.不论系统崩溃或是发生其他无法预料的事件,更改都必须是持久的.只要有一个参与者无法做出此保证,整个事务就会失败.事务范围内的所有数据更改将回滚到特定设置点. Begin TRANSACTION 语句1; If @@error<>0 Goto error 语句2; If @@error<>0 Goto error

sql事务(Transaction)用法介绍及回滚实例_转

sql事务(Transaction)用法介绍及回滚实例 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性 当对多个表进行更新的时候,某条执行失败.为了保持数据的完整性,需要使用事务回滚. 显示设置事务 代码如下 begin try   www.2cto.com begin transaction insert into shi

JDBC PreparedStatement ,CallableStatement,以及事务,回滚举例

程序中用到的类,文件,jar 代码: 1,文件:db.properties文件内容 user=rootpassword=123url=jdbc:mysql:///student_dbdriver=com.mysql.jdbc.Driveraaa 2,类Utils.class import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException