回滚缓存区
‘壹’ git 为什么要设立缓存区
这样在本地就可以提交代码和回滚代码,而不用连接服务器的时候才能做相关操作。
‘贰’ 若数据库操作commit发生异常,没有执行回滚,这时数据会存入数据库吗
弄清楚这个问题之前,要先要搞清楚执行数据修改(excute),但未提交事务之前,已修改的数据存放在哪里?这时的数据是在数据库内存缓冲区中。commit操作就是将缓冲区中已修改数据写入磁盘,形成持久化存储。
那么当commit提交的修改的数据是多条时,假设部分数据已经由缓冲区写入磁盘,另一部分还未完成时,出现异常,这个时候,如果不回滚,那么就无法保证数据修改的一致性(比如联机转账,A的账户扣了款,B的账户余额未增加)。
简单来说就是:若数据库操作commit发生异常,没有执行回滚,这时可能出现部分数据保存成功,部分保存失败,因此需要rollback回滚操作。
‘叁’ git commit命令是做什么用的
git commit主要是将暂存区里的改动给提交到本地的版本库。
每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。
git commit-a-m"提交的描述信息"
git commit命令的-a选项可只将所有被修改或者已删除的且已经被git管理的文档提交倒仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add命令的。
git add.命令除了能够判断出当前目录(包括其子目录)所有被修改或者已删除的文档,还能判断用户所添加的新文档,并将其信息追加到索引中。
git commit--amend对于已经修改提交过的注释,如果需要修改,可以借助 git commit --amend 来进行。
(3)回滚缓存区扩展阅读
COMMIT(操作指令)
COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。
用途
使用COMMIT提交当前事务,使事务中执行的变更永久化,所有事务的更改都将为其他事务可见,而且保证当崩溃发生时的可持续性。
通过修改的表,查看事务期间所作的任何更改,但其他用户不能看到所做的更改。
可以回滚ROLLBACK语句与事务过程中所做的任何更改。
可以使用此语句手动提交疑问在分布式的事务上。
可以使用此语句终止SET TRANSACTION语句的只读事务。
参考资料
COMMIT-网络