sle*_*ske 11 git crash transactional
在玩游戏时git,我有时会尝试一些东西,然后中止需要太长时间的git svn命令(例如在网络问题期间挂起的某些命令).这让我想到:
强制中止命令(Ctrl-C或kill)是否总是安全的?如果命令崩溃(内存不足,错误,网络/ FS问题)怎么办?存储库更改是"事务性的",因为不完整的更改会"回滚"(如在版本控制文件系统中)吗?或者在这种情况下我是否存在存储库损坏风险
我确信使用git的聪明人必须考虑到这一点,但我在git手册或网上找不到任何信息.
存储库是完全事务性的,是的.
工作树几乎是交易性的,但是有一个不容易处理的角落案例.Checkout会执行所有必要的检查并将新内容写入临时文件,并且在此期间,如果您中断它,则不会修改任何内容.但随后它将文件逐个重命名为树,最后更新HEAD ref并在该阶段中断可能会让您对树进行部分更改.没有批量重命名允许以原子方式进行.
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |