在使用git pull origin master
更新代码的时候有时会遇到有冲突无法合并的情况,而又知道在remote端的代码是对的,只要覆盖掉本地的代码就好了。
之前我是这样做的:
|
|
然后也会得到一个我想要的结果。
可是今天当我重复同样的操作时,事故却发生了。很多有用的数据在这个操作之后被删除,而且无法找回了。
我的Git环境是这样的:
这是一个在线上运行的系统,会在同目录下实时生成很多历史数据,然而由于其数据量较大,就没有加到git追踪文件里。但是又没有写好.gitignore
文件。又由于是多人维护的项目,不知什么时候被人执行过一句git add --all
。
就这样。。。珍贵的历史数据在一个不可撤消的git reset --hard
操作之后被删除了。
数据最后也没有找回来。。。1
所以在git管理项目时要注意几点:
- 慎用
git reset --hard
- 写好
.gitignore
文件 - 线上的数据要做备份
- 不要添加不追踪的文件
批注为 2018-10-10 添加
这是因为我操作失误导致的一个迄今为止最大的线上故障,丢了运营的历史数据。到现在我还是对此引以为戒。 ↩︎