You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Git原仓库取回单个文件至已删除该文件的复刻仓库?

从原仓库找回已删除文件(无需撤销本地删除提交)

当然可以!完全不用动你fork仓库里的删除提交,就能从原仓库把这个文件找回来,操作其实很简单,我给你分步骤说清楚:

1. 确保本地关联了原仓库(Upstream)

如果之前没给本地仓库添加原仓库的远程地址,先执行这一步:

git remote add upstream <原仓库的Git克隆地址>

要是不确定有没有关联,可以用git remote -v查看,能看到upstream对应的地址就说明已经关联好了。

2. 拉取原仓库的最新内容

先把原仓库的所有分支和提交信息拉到本地:

git fetch upstream

3. 找回文件的两种常用方法

方法一:直接从原仓库分支恢复文件到本地

用这条命令,把原仓库目标分支(比如main)里的指定文件拉到你的本地工作区和暂存区:

git checkout upstream/main -- <被删除文件的完整路径>

比如文件是src/utils.js,就写成git checkout upstream/main -- src/utils.js。之后你只需要执行git commit -m "恢复从原仓库获取的utils.js文件",再推送到你的fork仓库就可以了。

方法二:查看并导出文件内容

如果只是想先看看原仓库里该文件的内容,再决定要不要恢复,可以用:

git show upstream/main:<被删除文件的完整路径>

要是想把内容保存成文件,就重定向输出:

git show upstream/main:<被删除文件的完整路径> > <保存的文件名>

比如git show upstream/main:src/utils.js > src/utils.js,之后同样提交推送就行。

为什么不用撤销删除提交?

你的删除提交是存在自己fork仓库的提交历史里的,而原仓库的这个文件根本没被删除过。上面的操作相当于在你的删除提交之后,新增了一个恢复文件的提交,既保留了你之前的操作记录,又把文件找回来了,完全不需要去撤销之前的删除操作。

内容的提问来源于stack exchange,提问作者cubsnlinux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:17:42