请教个 git 问题,采用 git 管理文件,如果文件删除了,并且提交到了 git 服务器上,不知道这个文件是否还保存在 git server 的磁盘中,是否还能找回?
![]() | 1 300 2020-08-14 11:18:40 +08:00 via Android ![]() revert 记录还是在的反正 |
![]() | 2 XiaoxiaoPu 2020-08-14 11:21:13 +08:00 只要这个文件曾经被提交到仓库里,你也没有做什么彻底删除的操作 (想彻底删除还挺麻烦的),就能找回 |
![]() | 3 leo108 2020-08-14 11:21:43 +08:00 git log -p -- 文件路径 |
4 wangkun025 2020-08-14 11:22:40 +08:00 git 无所谓服务器不服务器吧。 服务器只是本地的 repo 的一个镜像而已。 git 又不是中心化存储的。 |
5 AaronLee01 2020-08-14 11:31:36 +08:00 查看 git log,找到你想回退到的 commit,记录 id,git reset [id] 应该就可以了 |
![]() | 6 daijinming OP @XiaoxiaoPu 我其实是不想找回,彻底删除(文件太大,占用服务器磁盘),请教如何彻底删除 |
![]() | 7 wzq001 2020-08-14 11:34:03 +08:00 @XiaoxiaoPu 如果自己搭的 gitlab 类似的,可以 rm -rf /*解君愁 |
![]() | 8 wzq001 2020-08-14 11:36:39 +08:00 |
9 teawithlife 2020-08-14 13:13:26 +08:00 ![]() git 是支持彻底删除某个文件的,但是操作很复杂,非常不建议这么做,如果一定要做,一定要做好备份。 如果原先的提交不多的话,最好是重新建个 repo,从头重新 commit 一遍,这个比较安全可控 |