You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

删除本地.git文件夹并重新提交后,如何用备份恢复Git提交历史?

解决方案

别慌,手里握着原.git文件夹的备份就等于攥住了救命稻草!咱们一步步把远程仓库的历史恢复回来,同时保留你后来在Unity里做的开发内容:

  1. 先做好双重备份,避免操作失误
    把你当前正在工作的整个项目文件夹复制一份到安全的位置(比如桌面的临时文件夹),万一接下来的操作出问题,还能回退到现在的状态。

  2. 替换回原始的.git仓库

    • 回到你当前的项目根目录,删除那个后来新建的无用.git目录:
      • macOS/Linux:rm -rf .git
      • Windows:rmdir /s .git
    • 把你之前备份的原.git文件夹复制到项目根目录下,这样本地仓库就恢复了原来完整的提交历史。
  3. 合并你后来的开发内容
    把你在Unity里完成的那些新开发文件(如果刚才备份时移走了的话)复制回项目目录。现在执行git status,你会看到这些新增/修改的文件处于未跟踪状态。

  4. 提交新更改并修复远程仓库

    • 先把新内容添加到暂存区:git add .
    • 提交这些更改:git commit -m "Add recent Unity development work"
    • 最后强制推送到远程仓库,覆盖掉之前错误提交的历史:git push -f origin master

注意:强制推送(-f参数)会直接覆盖远程仓库的历史,如果有其他协作者在这个仓库工作,一定要提前通知他们,让他们先备份自己的本地仓库,然后重新拉取正确的版本,避免冲突。

事后提醒

以后遇到Git错误时,千万别随便删除.git目录——这个目录是Git仓库的核心,删了就等于丢了本地所有提交历史。先尝试搜索错误信息找解决方案,或者先备份.git再操作,能避免很多麻烦!

内容的提问来源于stack exchange,提问作者James O'Hanlon

火山引擎 最新活动